想要向我的Spring Boot(1.3.2.RELEASE)应用程序引入HTTPS协议(受信任的证书)。
为此,请尝试下一个SSL属性:

server.ssl.trust-store=classpath:key.jks
server.ssl.trust-store-password=pass


并有错误:

Caused by: java.lang.IllegalArgumentException: Resource location must not be null
at org.springframework.util.Assert.notNull(Assert.java:115) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.util.ResourceUtils.getURL(ResourceUtils.java:131) ~[spring-core-4.2.4.RELEASE.jar:4.2.4.RELEASE]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.configureSslKeyStore(TomcatEmbeddedServletContainerFactory.java:340) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]
at org.springframework.boot.context.embedded.tomcat.TomcatEmbeddedServletContainerFactory.configureSsl(TomcatEmbeddedServletContainerFactory.java:323) ~[spring-boot-1.3.2.RELEASE.jar:1.3.2.RELEASE]


在该错误中,您可以看到应该传递configureSslKeyStore。
当我尝试使用下一组更改启动应用程序时:

server.ssl.key-store=classpath:key.jks
server.ssl.key-store-password=pass
server.ssl.trust-store=classpath:key.jks
server.ssl.trust-store-password=pass


应用程序成功启动,但无法访问https:
java - 如何使用Spring Boot配置受信任的SSL keystore ?-LMLPHP

所以现在我有几个问题:


协议不受支持的原因可能是这种行为的原因?(证书是最新的,并且没有过时)
没有冗余属性就无法配置受信任证书是否正确?
还有其他更方便的方法来配置受信任的
SSL?


更新:

它是JAR文件,并且证书在其中存在classpath:key.jks“”。

最佳答案

原因是在我的.jks文件中。它是用错误的方式生成的。
这是link,您可以在其中找到正确的存储密钥结构。

关于java - 如何使用Spring Boot配置受信任的SSL keystore ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44958116/

10-09 03:37