本文可能需要的的前置知识依赖文章:
- 秘钥生成环境 java环境搭建
- 开发工具 IDEA开发环境搭建
确认java环境变量
java -version
显示java版本号即可
使用keytool生成秘钥
在任意目录输入cmd 回车 调出控制台
keytool -genkey -alias tomcat -dname "CN=Chester,OU=lingyu,O=lingyu,L=beijing,ST=BeiJing,C=CN" -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 365
genkey 表示要创建一个新的密钥。
alias 表示 keystore 的别名。
keyalg 表示使用的加密算法类型
keysize 表示密钥的长度。
keystore 表示生成的密钥文件名(后缀任意)。
validity 表示密钥的有效时间,单位为天。
dname 拥有者信息,CN:姓名;OU:组织单位名称;O:组织名称;L:省/市/自治区名称;C:国家/地区代码
更多参数说明
dname中key的全称解释
Country Name: CN //您所在国家的ISO标准代号,中国为CN
State or Province Name:guandong //您单位所在地省/自治区/直辖市
Locality Name:shenzhen //您单位所在地的市/县/区
Organization Name: Tencent Technology (Shenzhen) Company Limited //您单位/机构/企业合法的名称
Organizational Unit Name: R&D //部门名称
更多参数说明
keytool -genkey -?
将在本目录生成后的文件 放置到springboot的resources目录下
application.yml配置ssl信息
server:
# https端口
port: 8443
# http端口
port2: 8081
ssl:
key-store: classpath:server.keystore
key-store-type: PKCS12
key-alias: tomcat
# 生成秘钥时两次键入的密码
key-store-password: 123456
配置http与https同时使用
HttpConfig.java
@Configuration
public class HttpConfig {
@Value("${server.port2:8080}")
private Integer port;
@Bean
public ServletWebServerFactory servletContainer() {
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(createStandardConnector());
return tomcat;
}
private Connector createStandardConnector() {
Connector connector = new Connector("org.apache.coyote.http11.Http11NioProtocol");
connector.setPort(port);
return connector;
}
}
最终效果