java - 在具有相同 CN 名称但别名不同的信任库中导入多个 CA

标签 java ssl ca truststore

在我的一台服务器中,我在 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/

相关文章:

apache - 本地 SSL 证书返回错误 "result too small", "problems getting password"

java - 尝试从远程 SSL 地址下载和设置证书以进行 WebSocket 连接,但出现 "Signature does not match"异常

security - 带有证书固定的移动应用程序 - DMZ 框上的 SSL 证书与受信任的 CA 对比我自己的 CA

java - Tomcat 从 {$catalina_home}/(app instance)/lib 加载 JDBC 连接器 jar 但如果在项目 pom 中则不会

java - 在 return 语句之后做一些事情 - Java

Teiid Excel 数据源的 java.nio.channels.OverlappingFileLockException

java - 如何阻止电子邮件通讯弹出窗口拦截点击?

Heroku Redis 上的 SSL 认证验证失败

python - 在 Windows 上使用 Paho MQTT 库时如何指定证书颁发机构证书文件

ssl - 主题备用名称未复制到签名证书