java - 在 Java 服务器应用程序上同时配置两个 SSL 证书

标签 java ssl certificate keystore

我正在研究在 Java 服务器上配置两个证书(一个用 SHA1 签名,另一个用 SHA256 签名)的可能性。具体来说,我创建了一个 keystore ,其中导入了两个证书。然后将此 keystore 设置为由我的简单 Java 服务器应用程序使用,语法如下:

System.setProperty("javax.net.ssl.keyStore","key.jks");

System.setProperty("javax.net.ssl.keyStorePassword", "myPassword");

这是我发现的问题。当使用 openSSL 工具列出我的安全套接字上打开的端口使用的证书时(在服务器运行并监听连接时运行命令),我可以看到只使用了一个证书,另一个被忽略了。

问题是:有什么方法可以告诉我的服务器同时使用两个证书吗?这是必需的,因为我还有两个应该能够与服务器通信的 Java 客户端应用程序。其中一个信任 SHA1 签名证书,另一个信任 SHA2 证书。

谢谢!

最佳答案

她指的是过渡阶段。由于客户端不受服务器所有者的控制,因此无法强制执行它们的升级。在有限的时间内,只知道并信任新 SHA256 证书的新客户端将连接到服务器,而只知道并信任旧 SHA1 签名证书的旧客户端也必须仍然能够连接到服务器。这就是为什么需要这个过渡期。

关于java - 在 Java 服务器应用程序上同时配置两个 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43919085/

相关文章:

php - PayPal 最近的 TLS 1.2/HTTP 1.1 更新以及何时使用它

ssl - 来自 Windows AD CS 的 Jenkins SSL 证书

java - 在没有安全弹出窗口的情况下签署 java 小程序

java - 使用 XPath 解析 xml 文档。为什么要在结果中添加 <xml tag as a header>?

java - 获取 mongodb 身份验证失败错误

ssl - 告诉 nginx 静默忽略丢失的文件

java - 缓解 Java 中针对 https 请求的 session 劫持

c# - Windows 证书存储

java - 卡在二维数组中

java - 如何在jsp中用波斯语呈现数字?