web-dev-qa-db-ja.com

公開証明書をキーストアにインポート中にエラーが発生しました

CAからの公開証明書を持っています。 Javaこの証明書を使用してSSL接続を作成します。参照しました 特定の接続で異なる証明書を使用するにはどうすればよいですか? および 自己とのJava SSL接続-完全なキーストアをクライアントにコピーせずに署名された証明書 。これから、証明書をキーストアにインポートする必要があることを理解しています。しかし、CAからキーストアを受け取っていません。キーストアを作成し、パブリックをインポートしようとしましたそれに証明書。しかし、私は次のエラーを受け取ります:

keytoolエラー:Java.lang.Exception:応答の公開鍵とキーストアが一致しません

CAからのキーストアが必要ですか、それとも何か問題がありますか?


キーストアの作成に使用されるコマンド:

keytool -genkey -alias Tomcat -keyalg RSA -keystore keystore.jks

証明書をインポートするために使用されるコマンド:

keytool -import -v -alias Tomcat -file signed-cert.pem -keystore keystore.jks
9
DanMatlin

証明書のサインインプロセスを適切に実行していないと思います。このディスカッションをチェックしてください https://forums.Oracle.com/thread/153394 以下の手順に従って適切に実装してください:

  1. キーストアを作成するkeytool -genkey -keyalg RSA -keystore test.keystore -validity 360(これにより、「mykey」のエイリアスを持つキーストアとキー(DC)が生成されます)

  2. 証明書署名要求(CSR)を作成します。 keytool -certreq -keyalg RSA -file test.csr -keystore test.keystore(テキストCSRファイルを生成します)

  3. 署名された証明書が生成されました: http://www.instantssl.com/ssl-certificate-support/csr_generation/ssl-certificate-index.html

  4. インポートされた署名済み証明書(ステップ3で署名済み証明書を貼り付ける場合はCRLFに注意してください)keytool -import -alias newkey -file <signed cert file> -keystore test.keystore(?これは、ステップ1とは異なるエイリアスを持っていることが重要です(デフォルトでは "mykey"です)?

  5. クライアント用に公開鍵をエクスポートkeytool -export -alias mykey -file test.publickey -keystore test.keystore

サーバーシステム上

  1. トラストストアを作成するkeytool -genkey -keyalg RSA -keystore test.truststore -validity 360(これにより、「mykey」のエイリアスを持つキーストアとキー(DC)が生成されます)

  2. 公開鍵のインポート-SSLのテスト用SOAPクライアント経由のサービスkeytool -import -file test.publickey -keystore test.truststore

問題は、ステップ1と6のエイリアスをデフォルトで「mykey」にすることでした。手順6を次のように変更した場合:keytool -genkey -alias testAlias -keyalg RSA -keystore test.truststore -validity 360

上記のステップ7を使用してインポートできます(ただし、「-alias apublickey "手順7)でこれはうまくいきました。

6
PeggyP

keyStore Explorer guiツールを使用して、キーストア/証明書を生成し、証明書をキーストアにインポート/エクスポートできます。

3
ManojP

キーストアにSSL証明書をインポートするときに、同じ問題に直面しました。私の場合、ルートCAの証明書がチェーンにありませんでした。ルート証明書をファイルにエクスポートし、手動でキーストアにインポートしました。

0
azhar buttar

Keystore -genkeyに同じエイリアスを使用しているため、エイリアスをTomcatから他のエイリアスに変更してください

0