1

Axis2とorg.jsslutils.sslcontext.X509SSLContextFactoryを使用してWebサービスとの信頼できる接続を作成するためのサポートが必要です。Webサービスの管理コンソール(client.p12)から生成されたクライアント証明書があります。また、エンドポイントURIに移動し、ブラウザー(pubserver.cer)を使用してファイルにエクスポートすることにより、サーバーの公開証明書を取得しました。keytool(mywsks.jks)を使用してclient.p12をjksに変換しました。また、pubserver.cerをキーストアにインポートしました。私はSSLを初めて使用します。これらの証明書を.../jre / lib / security / cacertまたはcacertsまたはtrusted.librariesにインポートする必要がありますか、それともmywsks.jksを参照するだけですか?X509SSLContextFactoryを使用してサーバーが私を信頼するようにコードを設定するにはどうすればよいですか?この例から派生したkeyStoreとtrustStoreが必要なようです。

X509SSLContextFactory sslContextFactory = new X509SSLContextFactory( 
    keyStore, keyStorePassword, trustStore); 

私は現在、これを使用してkeyStoreとtrustStoreを作成しています。

KeyStore keyStore = KeyStore.getInstance("JKS");     
String keyStoreFile = "mywsks.jks"; 
InputStream keyInput = new FileInputStream(keyStoreFile);
String keyStorePassword = "thepassword"; 
keyStore.load(keyInput, keyStorePassword.toCharArray());
keyInput.close();

String trustStoreFile = "/path/to/cacert"; 
KeyStore trustStore = KeyStore.getInstance("JKS");
keyInput = new FileInputStream(trustStoreFile);
String trustStorePassword = "thepassword";
trustStore.load(keyInput, trustStorePassword.toCharArray());
keyInput.close();

次のエラーが発生します。

org.apache.axis2.AxisFault: sun.security.validator.ValidatorException: No trusted certificate found
4

1 に答える 1

1
  1. Webサービスへの認証に使用されるクライアント証明書をkeyStore(client.p12)に追加します。
  2. サーバーの公開鍵(pubserver.cer)をtrustStoreに追加します。/ jre / lib / security/cacertにすることができます

直面している問題を投稿していただけますか?私によると、それは混乱し、議論するのに大きなトピックだからです。

この例は、これを実装するのに役立ちます。

http://code.google.com/p/jsslutils/wiki/ApacheHttpClientUsage

そして最後に、URL接続を行うことができます。

于 2013-01-30T20:24:27.907 に答える