使用 JRE 中的 keytool 工具生成 Tomcat 可以使用的 SSL2048 位 PKCS12 格式自签证书。
脚本使用方式,如果脚本名为 ssl.sh
,使用方式如下:
./ssh.sh 365
需要传入证书有效天数,作为参数。
脚本内容如下:
#!/bin/sh
# SSL证书生成
# 证书有效期(单位天)
VALIDITY_DAY=$1
JAVA_BIN_HOME="/root/jdk1.8.0_271/bin"
SSL_HOME="/root/test/javassl"
rm ${SSL_HOME}/* -rf
# 1. 生成服务端keystore
${JAVA_BIN_HOME}/keytool -genkey -keystore "${SSL_HOME}/server.keystore" -alias server -keyalg RSA -validity $1 -storetype PKCS12 -dname "CN=TLBCC, OU=TLBCC, O=TLBCC, L=beijing, ST=beijing, C=cn" -keypass 123456 -storepass 123456
# 2. 验证服务端证书
${JAVA_BIN_HOME}/keytool -list -v -keystore "${SSL_HOME}/server.keystore" -storepass 123456
# 3. 导出服务端cer
${JAVA_BIN_HOME}/keytool -export -alias server -keystore "${SSL_HOME}/server.keystore" -rfc -file "${SSL_HOME}/server.cer" -storepass 123456
# 4. 生成truststore,公钥证书导入
${JAVA_BIN_HOME}/keytool -import -alias server -v -file "${SSL_HOME}/server.cer" -keystore "${SSL_HOME}/server.truststore" -storetype PKCS12 -storepass 123456 << EOF
y
EOF
# 5.验证keystore
${JAVA_BIN_HOME}/keytool -list -v -keystore "${SSL_HOME}/server.truststore" -storepass 123456
生成的文件:
- server.keystore - 存放私钥的文件
- server.truststore - 存放可信任的证书文件
- server.cer -证书文件
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于