一、使用jdk的keytool生成自签证书
使用keytool命令生成证书:
keytool
-genkey
-alias tomcat(别名)
-keypass 123456(别名密码)
-keyalg RSA(算法)
-keysize 1024(密钥长度)
-validity 365(有效期,天单位)
-keystore D:/keys/tomcat.keystore(指定生成证书的位置和证书名称)
-storepass 123456(获取keystore信息的密码)
方便复制版:
样例一
需要手动设置信息:
keytool -genkey -alias tomcat -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore D:/keys/tomcat.keystore -storepass 123456
样例二
直接一条命令生成 -dname 至少要C=cn
keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 36500 -dname CN=mycom,OU=mycom,C=cn -storepass po4ij8 -keypass po4ij8 -keystore d:/tomcat.keystore
dname设置
CN 您的名字与姓氏
OU 您的组织单位名称
O 您的组织名称
L 您所在的城市或区域名称
ST 您所在的省/市/自治区名称
C 该单位的双字母国家/地区代码
您的名字与姓氏是什么?
[Unknown]: comname
您的组织单位名称是什么?
[Unknown]: mycom
您的组织名称是什么?
[Unknown]: 我的公司
您所在的城市或区域名称是什么?
[Unknown]: fz
您所在的省/市/自治区名称是什么?
[Unknown]: fj
该单位的双字母国家/地区代码是什么?
[Unknown]: cn
CN=comname, OU=mycom, O=我的公司, L=fz, ST=fj, C=cn是否正确?
生成样例
[root@docker110 ansible_test]# keytool -genkey -alias tomcat -keyalg RSA -keysize 1024 -validity 36500 -dname C=cn -storepass po4ij8 -keypass po4ij8 -keystore tomcat.keystore
Warning:
JKS 密钥库使用专用格式。建议使用 "keytool -importkeystore -srckeystore tomcat.keystore -destkeystore tomcat.keystore -deststoretype pkcs12" 迁移到行业标准格式 PKCS12。
[root@docker110 ansible_test]# ls tomcat*
tomcat.keystore
安全网络通信(一)—利用keytool工具生成自签名证书 https://blog.csdn.net/qq_34444097/article/details/79859600
JDK自带工具keytool生成ssl证书 https://www.cnblogs.com/zhangzb/p/5200418.html
二、tomcat server.xml配置
将生成的tomcat.keystore
保存到${tomcat_home}/conf/
下
keystoreFile 生成的keystore文件
keystorePass 使用的密码
修改配置server.xml配置
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="conf/tomcat.keystore" keystorePass="abc123"
clientAuth="false" sslProtocol="TLS" />