Spring Boot - 启用和配置 SSL 证书

新手上路,请多包涵

我有这些证书/文件以便为我的应用程序启用 SSL:

证书

我发现 Spring Boot 启用 HTTPS 需要这些属性:

 server.port=8089
server.ssl.enabled=true
server.ssl.key-store=src/main/resources/keystore.p12
server.ssl.key-store-password=****
server.ssl.keyStoreType=PKCS12
server.ssl.keyAlias=tomcat

但这不起作用。我现在的问题是我必须做什么才能让它发挥作用? https://abc.lehr.co.at 应该是 URL。

[编辑]

我创建了自己的密钥库 - 有了这个我得到以下异常:

 java.io.IOException: Alias name tomcat does not identify a key entry
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:596)
at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getKeyManagers(JSSESocketFactory.java:534)
at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:363)
at org.apache.tomcat.util.net.AbstractEndpoint.start(AbstractEndpoint.java:739)
at org.apache.coyote.AbstractProtocol.start(AbstractProtocol.java:472)
at org.apache.coyote.http11.Http11NioProtocol.start(Http11NioProtocol.java:81)
at org.apache.catalina.connector.Connector.startInternal(Connector.java:986)

我的密钥库如下所示:

密钥库

实际上,我不知道要为嵌入式 tomcat(Spring Boot)导入什么密钥库。

原文由 quma 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 769
1 个回答

要启用 SSL,您必须提供私钥,而不是受信任的证书。

在您的密钥库中,“tomcat”应列为 privatekeyentry 而不是 trustcertentry 的别名。

原文由 Camille Vienot 发布,翻译遵循 CC BY-SA 3.0 许可协议