-2
想要向我的Spring Boot(1.3.2.RELEASE)應用程序引入HTTPS協議(可信證書)。 爲此嘗試下一個SSL屬性:如何使用Spring啓動配置可信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
所以,現在我有幾個問題:
- 這種行爲的原因是什麼,該協議是不受支持的?(證書是新鮮的,沒有過時)
- 是否正確,沒有如何配置無冗餘屬性的可信證書?
- 是否有其他一些更方便的方法來配置可信 SSL?
UPDATE:key.jks 「」:
這是JAR文件和證書的類路徑它內部存在。
添加您將證書和匹配私鑰導入jks所需的步驟。 – Strelok
並告訴我們.war文件中的key.jks文件在哪裏。注意您不應該使用與密鑰庫和信任庫相同的文件。他們服務完全不同的目的。 – EJP
證書存在於彈簧引導JAR文件中,而不是WAR。 「將私鑰匹配到jks?」你能解釋一下你的意思嗎? – Speise