【发布时间】:2018-09-07 02:55:25
【问题描述】:
我有这些证书/文件以便为我的应用程序启用 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) 导入什么到密钥库中。
【问题讨论】:
-
server.ssl.enabled=true将是一个好的开始。 -
有大量可用的示例online。先试一试,如果遇到困难,请告诉我们您尝试了什么以及失败的细节。
-
有谁知道如何在 Spring Boot 中以编程方式实现上述目标。我们必须在运行时从远程位置读取密钥库文件路径和密码,并填写这个假设的 SSL 对象,并希望 spring 将其作为初始化的一部分注入。有什么想法吗?
标签: ssl spring-boot https