2017-07-06 66 views
-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 

應用程序成功啓動,但HTTPS是不可達: enter image description here

所以,現在我有幾個問題:

  • 這種行爲的原因是什麼,該協議是不受支持的?(證書是新鮮的,沒有過時)
  • 是否正確,沒有如何配置無冗餘屬性的可信證書?
  • 是否有其他一些更方便的方法來配置可信 SSL?

UPDATE:key.jks 「」:

這是JAR文件和證書的類路徑它內部存在。

+0

添加您將證書和匹配私鑰導入jks所需的步驟。 – Strelok

+0

並告訴我們.war文件中的key.jks文件在哪裏。注意您不應該使用與密鑰庫和信任庫相同的文件。他們服務完全不同的目的。 – EJP

+0

證書存在於彈簧引導JAR文件中,而不是WAR。 「將私鑰匹配到jks?」你能解釋一下你的意思嗎? – Speise

回答

0

原因是在我的.jks文件中。它是以錯誤的方式產生的。 以下是link,您可以在其中找到正確的storekeys結構。