参考 https://www.qiansw.com/using-keytool-to-generate-tomcat-certificates.html
1. 安装Java jdk,包含jre
路径:/usr/local/jdk
配置Java环境变量:
echo "
JAVA_HOME="/usr/local/jdk"
JRE_HOME="/usr/local/jdk/jre"
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
" > /etc/profile.d/java.sh
使能Java环境变量:
source /etc/profile.d/java.sh
2. 工具路径
JDK、JRE都包含keytool,路径为 $JAVA_HOME/bin/keytool、$JRE_HOME/bin/keytool
cacerts 路径为 $JRE_HOME/lib/security/cacerts
3. 生成证书,可写成脚本方式:
source /etc/profile.d/java.sh
KEYTOOL="$JAVA_HOME/bin/keytool"
CACERTS="$JRE_HOME/lib/security/cacerts"
DOMAIN=example.com # 修改为要配置的二级域名
DOMAIN_ALIAS=`echo $DOMAIN|sed 's/\.//g'` # 去掉域名的英文句点 . ,生成一个域名别名(也可理解为服务名)
$KEYTOOL -delete -alias $DOMAIN_ALIAS -keystore $CACERTS -storepass changeit # 删除旧证书
$KEYTOOL -genkey -v -alias $DOMAIN_ALIAS -keyalg RSA -storetype pkcs12 -keystore keystore -validity 36500 \
-dname "CN=*.$DOMAIN,OU=$DOMAIN_ALIAS,O=$DOMAIN_ALIAS,L=BJ,ST=BJ,C=CN" -storepass changeit -keypass changeit
$KEYTOOL -export -alias $DOMAIN_ALIAS -storetype pkcs12 -keystore keystore -file $DOMAIN_ALIAS.cer -storepass changeit
# 证书后缀可以是 .cer 或 .crt
4. 导入证书到 jdk 证书库:
$KEYTOOL -import -trustcacerts -alias $DOMAIN_ALIAS -keystore $CACERTS -file $DOMAIN_ALIAS.cer -storepass changeit
浙公网安备 33010602011771号