spring boot配置ssl证书 TLS证书 https
在 .properties配置文件添加一下配置
https.port = 443 //端口号
https.ssl.key-store= D://project/server/cert/server.pfx //ssl证书文件
https.ssl.key-password= 12a1sd21a2s
https.ssl.key-store-password=12a1sd21a2s
在 application.java 启动类文件添加以下代码
@Value("${https.port}")
private Integer port;
@Value("${https.ssl.key-store-password}")
private String key_store_password;
@Value("${https.ssl.key-password}")
private String key_password;
@Value("${https.ssl.key-store}")
private String key_file;
private Connector createSslConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
Http11NioProtocol protocol = (Http11NioProtocol) connector.getProtocolHandler();
try {
connector.setScheme("https");
connector.setSecure(true);
connector.setPort(port);
protocol.setSSLEnabled(true);
protocol.setKeystoreFile(key_file);
protocol.setKeystorePass(key_store_password);
protocol.setKeyPass(key_password);
//配置TLS 1.2 使用TLS 证书
/*protocol.setSSLProtocol(Constants.SSL_PROTO_TLS);
protocol.setSslEnabledProtocols(Constants.SSL_PROTO_TLSv1_2);
return connector;*/
} catch (Exception ex) {
throw new IllegalStateException("can't access keystore: [" + "keystore"
+ "] or truststore: [" + "keystore" + "]", ex);
}
}
@Bean
public ServletWebServerFactory servletContainer() {
if(key_file != null && !"".equals(key_file)){
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createSslConnector()); // 添加https
return tomcat;
}
return new TomcatServletWebServerFactory();
}
```