shell脚本,直接运行,根据提示即可创建证书文件.crt和.key,位于/tmp/ssl/路径下
#!/bin/bash
#作者:duolili
openssl version
if [ $? == 0 ];then
read -p "请输入域名:" CN
read -p "请输入省份(SHANXI):" ST
read -p "请输入城市(XIAN):" L
read -p "请输入组织:" A
OU=$(echo $CN|awk -F '.' -v OFS='.' '{print $(NF-1),$NF}')
ST=${ST:-SHANXI}
L=${L:-XIAN}
#A=${A:Duolili}
openssl genrsa -out $CN.key 2048
openssl req -new -subj "/C=CN/ST=$ST/L=$L/O=$A/OU=$OU/CN=$CN" -key $CN.key -out $CN.csr
mv $CN.key $CN.origin.key
openssl rsa -in $CN.origin.key -out $CN.key
openssl x509 -req -days 36500 -in $CN.csr -signkey $CN.key -out $CN.crt
mkdir -p /tmp/ssl
mv ./{$CN.key,$CN.crt} /tmp/ssl/
rm -rf ./$CN.*
echo -e "\033[1;32m*****************************************************************************************************************\n\033[0m"
echo -e "\033[0;31m\t证书文件已生成:\n\033[0m"
echo -e "\033[0;31m\t\t/tmp/ssl/$CN.key和/tmp/ssl/$CN.crt\n\033[0m"
echo -e "\033[0;31m\t\t/tmp/ssl/$CN.key和/tmp/ssl/$CN.crt\n\033[0m"
echo -e "\033[1;32m*****************************************************************************************************************\n\033[0m"
else
echo "请先安装openssl命令"
fi