生成證書

#!/bin/bash
#Name:
#Version:1.0
#Ctime:2020-09-05
#Mtime:
#Author:Jack Wangbr/>#QQ-mail:2891133657@qq.com
#Work-For:
#Update-Explain:
###################################################################################
#$@全部參數單個列出 $*全部參數合併爲字符 $#參數的個數 $0腳本路徑自己 $1位置參數
###################################################################################
END="\033[0m"
RED="\033[31m"
GREEN="\033[32m"
YELLOW="\033[33m"
BLUE="\033[34m"
PUR="\033[35m"
DEEPG="\033[36m"
WHITE="\033[37m"
###################################################################################
#生成密鑰文件:(umask 066;openssl genrsa -out private/cakey.pem 2048)
#生成密鑰文件:(umask 066;openssl genrsa -out master.key 2048)
#能夠不作以上兩步node

. /etc/init.d/functions
declare -A CT
CT=( [sub0]="/O=kin/CN=ca.kin.com" \
[keyfile0]="cakey.pem" \
[crtfile0]="cacert.pem" \
[key0]=2048 \
[exp0]=3650 \
[serial0]=0 \
[sub1]="/C=CN/ST=hubei/L=xiangyang/O=wolong/CN=master.wolong.com" \
[keyfile1]="master.key" \
[crtfile1]="master.crt" \
[key1]=2048 \
[exp1]=365
[serial1]=1 \
[csrfile1]="master.csr" \
[sub2]="/C=CN/ST=hubei/L=xiangyang/O=wolong/CN=slave.wolong.com" \
[keyfile2]="slave.key" \
[crtfile2]="slave.crt" \
[key2]=2048 \
[exp2]=365 \
[serial2]=2 \
[csrfile2]="slave.csr" )bash

COLOR="echo -e \E[1;32m"
END="\E[0m"
DIR=/crt
cd $DIR ide

for i in {0..2};do
if [ $i -eq 0 ] ;then
openssl req -x509 -newkey rsa:${CT[key${i}]} -subj ${CT[sub${i}]} \
-set_serial ${CT[serial${i}]} -keyout ${CT[keyfile${i}]} -nodes \
-days ${CT[exp${i}]} -out ${CT[crtfile${i}]} &>/dev/nullcode

else 
    openssl req -newkey rsa:${CT[key${i}]} -nodes -subj ${CT[sub${i}]} \
        -keyout ${CT[keyfile${i}]}   -out ${CT[csrfile${i}]} &>/dev/null

    openssl x509 -req -in ${CT[csrfile${i}]}  -CA ${CT[crtfile0]} \
    -CAkey ${CT[keyfile0]}  -set_serial ${CT[serial${i}]}  \
    -days ${CT[exp${i}]} -out ${CT[crtfile${i}]} &>/dev/null
fi
$COLOR"**************************************生成證書信息**************************************"$END
openssl x509 -in ${CT[crtfile${i}]} -noout -subject -dates -serial
echo

done
chmod 600 *.key
action "證書生成完成"
$COLOR"**生成證書文件以下**"$END
echo "證書存放目錄: "$DIR
echo "證書文件列表: "ls $DIRcsrf

相關文章
相關標籤/搜索