这篇文章主要介绍了如何实现一键申请多个证书的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 "证书生成完成"
感谢你能够认真阅读完这篇文章,希望小编分享的“如何实现一键申请多个证书的shell脚本”这篇文章对大家有帮助,同时也希望大家多多支持天达云,关注天达云行业资讯频道,更多相关知识等着你来学习!