X.509証明書で保護されたリモートWebサービスがあります。
(jax-wsを使用して)Webサービスクライアントを生成しましたが、証明書の使用方法を設定する必要があります。
どうすればいいですか?
は、私は私の地元の信頼できるキーストアに証明書を登録する必要がありますね、彼らはこのようなものを設定:X.509セキュアWebサービスのJavaクライアント
System.setProperty("javax.net.ssl.keyStore", keyStore);
System.setProperty("javax.net.ssl.keyStoreType", "JKS");
System.setProperty("javax.net.ssl.keyStorePassword", keyStorePassword);
System.setProperty("javax.net.ssl.trustStore", trustStore);
System.setProperty("javax.net.ssl.trustStoreType", "JKS");
System.setProperty("javax.net.ssl.trustStorePassword", trustStorePassword);
をしかし、データがパラメータとして提供されるべきかが明確ではありません。
助けてください。
ありがとうございます。
truststoreとkeystoreはそれぞれ信頼できる証明書と秘密鍵を含む物理ファイルです。キーストアには秘密鍵が含まれている必要があり、証明書はトラストストアに格納されている必要があります。 SSLハンドシェイクが完了するためには、ルート認証局(CA - サーバー証明書を承認するエンティティ、たとえばVerisignなど)の証明書がトラストストアに必要です。 – Drona
あなたの答えは@sstendalありがとうございます。あなたが今説明した事柄はかなり明確です。私が持っているのは、そのような形式の証明書なので、プロシージャ全体をどのように整理すればいいのか教えてください: 'MIICGDCCAYWgAwIBAgIQMYx/1mo3y4RDkMC7Pf6tITAJBgUrDgMCHQUAMCIxIDAeBgNVBAMTF1JhZGlvT3B0IERldmVsb3B ......'つまり、キーストアに何を追加すればいいですか?リモートWSを呼びたいだけなら、キーストアとトラストストアの両方に追加する必要がありますか? – kardanov
Base64でエンコードされた証明書があるようです。 pemファイルを作成するには、次の手順を実行します。http://www.herongyang.com/Cryptography/Certificate-Format-PEM-on-Certificates.htmlここで説明するように、keytoolを使用してキーストアにインポートする必要があります(http://www.herongyang.com/Cryptography/Certificate-Format-keytool-Import-in-DER-and-PEM.html)。 – sstendal