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