具有多个主机的证书的Trustore

时间:2011-01-31 23:06:40

标签: java ssl alias truststore

我有一个工作演示,其中applet通过https连接到服务器(“A”)。服务器的证书链由applet通过JKS信任库(myTrustManagerFactory.init(mytrustStore.jks))加载。它工作正常。

现在我需要这个小程序通过https连接到另一台服务器(“B”)。服务器的证书由自签名CA签名。所以我需要将这个自签名CA传递给applet TrustManagerFactory。

  • 我可以将它放在与服务器“A”相同的JKS信任中吗? 如果是这样,我是否必须使用第二个别名保存此自签名CA?我尝试过,但连接到服务器“B”时出错。有没有办法为TrustManagerFactory指定服务器“B”别名?

  • 我应该在调用第二台服务器之前使用第二个JKS或某些SSL上下文“重置”吗?

感谢您的帮助,
鲁道夫

1 个答案:

答案 0 :(得分:1)

我自己找到了解决方案:
错误消息“证书链错误”不反映信任库中的链问题,而是服务器中的链问题。

因此,如果它可能有所帮助,可以在Truststore中加载几个(链)证书来信任https中的多个服务器。 每个服务器只需要一个别名(别名无关紧要),以及信任该服务器所需的(链)证书。

切换与其他服务器的通信时无需重置任何内容。只需在单个“myTrustManagerFactory.init(mytrustStore.jks)”方法中加载服务器的所有证书链。