Appearance
一键申请多个证书 shell 脚本
shell
[root@centos8 ~]# cat certs.sh
#!/bin/bash
./etc/init.d/functions
CERT_INFO=([00]="/O=heaven/CN=ca.god.com" \\
[01]="cakey.pem" \\
[02]="cacert.pem" \\
[03]=2048 \\
[04]=3650 \\
[05]=0 \\
[10]="/C=CN/ST=hubei/L=wuhan/O=Central.Hospital/CN=master.liwenliang.org" \\
[11]="master.key" \\
[12]="master.crt" \\
[13]=2048 \\
[14]=365
[15]=1 \\
[16]="master.csr" \\
[20]="/C=CN/ST=hubei/L=wuhan/O=Central.Hospital/CN=slave.liwenliang.org" \\
[21]="slave.key" \\
[22]="slave.crt" \\
[23]=2048 \\
[24]=365 \\
[25]=2 \\
[26]="slave.csr" )
COLOR="echo -e \\\\E[1;32m"
END="\\\\E[0m"
DIR=/data
cd $DIR
for i in {0..2};do
if [ $i -eq 0 ] ;then
openssl req -x509 -newkey rsa:${CERT_INFO[${i}3]} -subj ${CERT_INFO[${i}0]} \\
-set_serial ${CERT_INFO[${i}5]} -keyout ${CERT_INFO[${i}1]} -nodes - days ${CERT_INFO[${i}4]} \\
-out ${CERT_INFO[${i}2]} &>/dev/null
else
openssl req -newkey rsa:${CERT_INFO[${i}3]} -nodes -subj ${CERT_INFO[${i}0]} \\
-keyout ${CERT_INFO[${i}1]} -out ${CERT_INFO[${i}6]} &>/dev/null
openssl x509 -req -in ${CERT_INFO[${i}6]} -CA ${CERT_INFO[02]} -CAkey ${CERT_INFO[01]} \\
-set_serial ${CERT_INFO[${i}5]} -days ${CERT_INFO[${i}4]} -out ${CERT_INFO[${i}2]} &>/dev/null
fi
$COLOR"**************************************生成证书信息 **************************************"$END
openssl x509 -in ${CERT_INFO[${i}2]} -noout -subject -dates -serial
echo
done
chmod 600 *.key
action "证书生成完成"