在我的一台服务器中,我在 trustore 中导入了 2 个具有相同 CN 名称但别名不同的 CA。
以上是必需的,因为 CA 的签名已更改,因此为了支持新旧设备 SSL 通信,我需要 我的 trustore 中有两个 CA
现在的问题是,只有一台具有旧 CA 的设备正在通过 SSL 通信。
当我在 cacerts 文件中添加两个 CA 时,我的新设备正在通过 ssl 通信而旧设备失败(因为它没有针对其他 CA 验证它)。
所以现在我想知道为什么当 CA 在信任库和 cacerts 文件中导入时我们有两种不同的行为。
还有我该如何处理这种情况并让它发挥作用。 (我没有任何选项可以生成具有不同 CN 名称的新 CA,因此该选项不在范围内)
最佳答案
我相信虚拟主机就是这种情况。
你有:
https://host-1 .company-A.com/app-1 有效。
现在公司-A 已合并到公司-B,您仍然需要支持两者。并且您需要使用相同的 Tomcat 部署来支持两者(最终它是相同的应用程序):
https://host-1 .公司-B.com/app-1
所以在同一个host-1上需要2个虚拟主机。每个虚拟主机都有自己的证书和别名。每个证书都有不同的CA链。
阅读更多关于 Tomcat virtual host here 的信息和 here .
另一个更简单的选择是使用将多个域引用到单个上下文的主机别名。阅读here .
关于java - 在具有相同 CN 名称但别名不同的信任库中导入多个 CA,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55531181/