2014-09-30 95 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