1

サーバーへの接続中にクライアント認証を行いたい webstart アプリケーションがあります。certmgr.exe を使用してインストールする pkcs12 証明書を作成しましたが、正常に動作します。アプリケーションを使用するすべてのクライアントに対して実行したいと考えています。どうすればいいですか?証明書を配布する場合

bad_certificate エラーが発生します。ブラウザを使用して証明書をインストールすると機能するため、証明書に問題がないことはわかっています。

を使用して公開鍵を作成しました

keytool -export -alias myKey -keystore abc.p12" -storetype PKCS12 -storepass mypassword -rfc -file abc.cer

次に、相互認証のためにこのファイルをサーバーのキーストアにインポートしました。

keytool -import -v -file abc.cer -keystore C:\apache-tomcat-7.0.26\tomcat.keystore" -storepass mypassword

この後、certmgr に abc.p12 証明書をインストールすると、正常に動作します。

Java から実行できるようにするには、トラストストアが必要でした。を使用して公開鍵をインポートするトラストストアを作成しました

>keytool -import -keystore client-truststore.jks -file abc.cer

を使用してサーバーにアクセスしようとすると

-Djavax.net.ssl.keyStore=abc.p12 -Djavax.net.ssl.keyStorePassword=mypassword -Djavax.net.ssl.trustStore=trustore.jks -Djavax.net.ssl.trustStorePassword=mypassword

正しいことをしているかどうかはわかりません。ご意見をお聞かせください。

私は何をすべきですか?あなたの提案を教えてください。

4

2 に答える 2

1

キーストアではなく、サーバーのトラストストアにインポートする必要があります。

于 2012-10-12T12:55:29.870 に答える