在 Spring-Boot 中为单个域配置多个 SSL 证书

Configure multiple SSL certificates for a single domain in Spring-Boot

一年前,我为 wxyz.com 域购买了 SSL 证书。

经过一些研究,我创建了一个 sslKeyStore.p12 并在其中添加了带有 Alias=wxyz 的证书。

然后我将该密钥库添加到我的项目的根目录中。

我还使用以下变量配置了我的 Spring-Boot 应用程序:

server.port=443
server.ssl.key-store=keystore.p12
server.ssl.key-store-password=myPass
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=wxyz

现在一年后我的证书很快就会过期,所以我又买了一个证书并将新证书添加到密钥库 Alias=wxyz2

但问题是:如何配置我的 Spring-Boot 应用程序以便它同时使用两个证书?

在我的配置文件中,我只能定义一个server.ssl.keyAlias

是否可以同时定义以下两个变量?

server.ssl.keyAlias=wxyz
server.ssl.keyAlias=wxyz2

如有任何帮助,我们将不胜感激。

你想要实现的是设计上不可能实现的。这不是 SSL 旨在工作的方式 - 您不能同时使用两个密钥签署 HTTP 响应。

我在这里看到的最佳选择是 - 正如安德烈亚斯在评论中提到的那样 - 部署一个接受两个证书的客户端应用程序,并更改您的服务器以在旧证书过期当天使用新证书。当某些客户端那天没有更新时,您只能在将来实现更好的软件设计;)

对于未来,您应该考虑切换到默认情况下被广泛接受并且不依赖专有 SSL 证书的 SSL 基础结构。看看 Let‘s Encrypt,它免费颁发证书,您今天会遇到的大多数平台都接受这些证书。