多个证书导入问题

时间:2011-04-20 12:08:31

标签: java security glassfish keytool

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

我正在使用 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
App Server:Glassfish

2 个答案:

答案 0 :(得分: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

现在,此命令在同一密钥库中导入两个证书。

答案 1 :(得分:1)

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

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