1

私のアプリケーションは、複数の安全なサーバーと通信する必要があります。

keytoolを使用して証明書をインポートしています。

証明書のインポート手順:

keytool -import -keystore aaa.jks -file aaa.co.uk.cer

keytool -import -keystore bbb.jks -file bbb.co.uk.cer

1 つの証明書では問題なく動作しますが、2 番目の証明書をインポートするとすぐに、前の証明書が機能しなくなります。

エラー:

    Exception:javax.naming.CommunicationException: 
simple bind failed: aaa.co.uk:636 
[Root exception is javax.net.ssl.SSLHandshakeException: 
sun.security.validator.ValidatorException: PKIX path building failed: 
sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

次の手順も試しましたが、まだ失敗しています。

keytool -import -keystore aaa.jks -alias ms -file aaa.co.uk.cer

keytool -import -alias ms -file bbb.co.uk.cer

証明書を 1 つのキーストアに追加する必要があると思いますが、その方法がわかりません。

それを行う方法はありますか、それとも何か不足していますか?

環境: Java 1.6
アプリケーション サーバー: Glassfish

4

2 に答える 2

2

@BertNase の提案に感謝します。

次のインポート コマンドで問題が修正されました。

keytool -import -keystore myStore.jks -alias aliasA -file aaa.co.uk.cer
keytool -import -keystore myStore.jks -alias aliasB -file bbb.co.uk.cer

これで、このコマンドは両方の証明書を同じキーストアにインポートします。

于 2011-04-20T13:44:04.340 に答える
1

おそらく、両方の証明書を同じエイリアスにインポートしますか?

使用しているキーツールのコマンド ラインと、2 回目のインポート後に正確に「動作を停止」したものを 教えてください。

于 2011-04-20T12:14:23.870 に答える