双方向SSL認証が必要なSUNWappserverにwebapp-1がデプロイされています。私はそれのためのJavaクライアント-1を書くことができ、それは正常に動作します。2つのWebアプリケーション間のSSLハンドシェイク
しかし、webapp-1用のクライアント2をスタンドアロンJavaプログラムではなくWebサービスとして記述すると、問題が発生しています。
私は、jetty-8サーバーにclient-2をデプロイしています。 SSLハンドシェイク中、JettyはまずSUNWappserverから証明書を取得します(これは問題ありません:信頼できる証明書が見つかりました)。その後、JettyはSUNWappserverから(証明機関と共に)CertificateRequestを受け取ります。しかし、Jettyは空の証明書チェーンで返信します。
何が起こっているのかわかりません。有効にする必要があるjetty-ssl.xml設定には、証明書チェーンで返信するような設定がいくつかありますか?私は(代わりに桟橋サーバーにデプロイするの)スタンドアロンのJavaアプリケーションとしてクライアントを使用するとき、彼らは仕事としてここで私は今
<Set name="KeyStore"><SystemProperty name="jetty.home" default="." />/server-certs/keyStore.jks</Set>
<Set name="KeyStorePassword">$PASS</Set>
<Set name="KeyManagerPassword">$PASS</Set>
<Set name="TrustStore"><SystemProperty name="jetty.home" default="." />/server-certs/trustStore.jks</Set>
<Set name="TrustStorePassword">$PASS</Set>
<Set name="certAlias">$CORRECT_ALIAS</Set>
<Set name="wantClientAuth">true</Set>
マイTrustStoreおよびキーストアを使用していますオプションが罰金されています。 Jettyサーバーを起動すると、JettyはkeyStoreとtrustStoreを正しく読み取ります。 Jettyサーバーを起動しているときに、jvmオプションとして-Djavax.net.ssl.trustStoreなどを指定してみました。