3 genKey(){ #subj, internalName
4 openssl genrsa -out $2.key ${KEYSIZE}
5 openssl req -new -key $2.key -out $2.csr -subj "$1/O=Test Environment CA Ltd./OU=Test Environment CAs"
9 genca(){ #subj, internalName
12 genKey "$1" "$2.ca/key"
15 echo 01 > $2.ca/serial
17 echo unique_subject = no >$2.ca/db.attr
21 caSign(){ # csr,ca,config,start,end
24 [ "$start" != "" ] && start="-startdate $start"
25 [ "$end" != "" ] && end="-enddate $end"
26 [ "$start" == "" -a "$end" == "" ] && start="-days 366"
28 echo "Signing: $1 with $2"
30 pushd $2.ca > /dev/null
31 openssl ca -cert key.crt -keyfile key.key -in "$BASE/$1.csr" -out "$BASE/$1.crt" -batch -config "$BASE/selfsign.config" -extfile "$BASE/$3" $start $end