我的应用程序需要与多个安全服务器通信。
我正在使用 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
我想我应该将证书附加到一个 keystore 中,但不知道该怎么做。
知道该怎么做还是我遗漏了什么?
环境:Java 1.6
应用服务器:Glassfish
最佳答案
感谢@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。
关于java - 多证书导入问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5729984/