2014-09-30 73 views
2

我有證書文件xx.crt和xx.pfx。我也有xx.pfx的密碼。我如何配置這個spring boot嵌入式tomcat?Spring Boot中的SSL證書

Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol"); 
    Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler(); 
    connector.setScheme("https"); 
    connector.setSecure(true); 
    protocol.setSSLEnabled(true); 
    protocol.setKeystoreFile(??); 
    protocol.setKeyPass(??); 
    protocol.setTruststoreFile(??); 
    return connector; 

回答

3

來解決這個問題的最簡單方法是使用PFX文件轉換爲JKS密鑰工具(在Windows keytool.exe的):

keytool -importkeystore -srckeystore mypfxfile.pfx -srcstoretype pkcs12 -destkeystore newkeystore.jks -deststoretype JKS 

,並使用protocol.setKeystoreFile()protocol.setKeyPass()加載它。

+0

謝謝!這真的很好。 – user3549576 2014-10-01 12:24:18

0

如果你看一下Http11NioProtocol這些方法需要字符串參數...反正這裏是一個相關的問題/回答How can I specify my .keystore file with Spring Boot and Tomcat?

+0

我已經通過了所有文檔和計算器的問題。它部分工作,但在將證書複製到生產箱時,會混淆某些格式並再次出現IO異常。在stacktrace上也可以很容易地找到這個問題。可能是關鍵的應該包括標準文檔中的keytool轉換(接受的答案在下面)。 – user3549576 2014-10-01 12:26:00