0

SOAPクライアント(認証)でパスワードで保護されたp12証明書を使用するためのいくつかのソリューションを試してきました。私はそれを働かせることができません。誰でも私を正しい方向に向けてください。私の最新のテスト:

  1. keytool -importkeystore -srckeystore mycert.p12 -destkeystore cert/cacerts -srcstoretype PKCS12 -deststoretype JKS -srcstorepass 123456789 -deststorepass changeit -srcalias 1 -destalias mycert
  2. System.setProperty("javax.net.ssl.trustStore","cert/cacerts"); System.setProperty("javax.net.debug", "ssl");

結果:

致命的、説明 = certificate_unknown

ありがとう

4

1 に答える 1

0

最初に、キーストアとトラストストアの違いを調べる必要があります。クライアント認証に PKCS#12 ファイルを使用する場合は、キーストアとして使用する必要があります。(サーバー証明書がデフォルトの CA によって信頼されない場合は、トラストストアのプロパティを設定する必要があるかもしれませんが、それは別の問題です。)

p12 ファイルを JKS に変換する必要はまったくありません。

クライアントがシステム プロパティを使用して SSL コンテキストを初期化する場合 (ドキュメントを確認してください)、p12 ファイルを指定して正しくjavax.net.ssl.keyStore設定することで、javax.net.ssl.keyStoreTypep12ファイルを構成できるはずです。ほとんどの場合、これらのプロパティは一度だけ読み取られるため、SSL 接続を試行する前に設定する必要があります。PKCS12javax.net.ssl.keyStorePassword

于 2013-01-16T11:46:09.240 に答える