4

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

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

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

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

谢谢你的帮助,
鲁道夫

4

1 回答 1

1

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

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

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

于 2011-02-01T22:51:54.940 回答