1

我的应用程序需要与多个安全服务器通信。

我正在使用keytool导入证书。

证书导入步骤:

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

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

它适用于一个证书,但是一旦我导入第二个证书,前一个证书就会停止工作。

错误:

    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

我想我应该将证书附加到一个密钥库中,但不知道该怎么做。

知道该怎么做还是我错过了什么?

环境: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

现在,此命令将两个证书导入到同一个keystore中。

于 2011-04-20T13:44:04.340 回答
1

也许您将两个证书都导入同一个别名?

告诉我们您正在使用的keytool命令行以及第二次导入后究竟是什么“停止工作”。

于 2011-04-20T12:14:23.870 回答