]> WPIA git - nre.git/blob - generateTime.sh
upd: generate drop-in-able configs for gigi
[nre.git] / generateTime.sh
1 #!/bin/bash
2
3 . structure
4 . commonFunctions
5
6 [ "$1" == "" ] && echo "Usage: $0 <year>" && exit 1
7 year=$1
8
9 cd generated
10
11 genTimeCA(){ #csr,ca to sign with,start,end
12     KNAME=$2
13     . ../CAs/${KNAME}
14     cat <<TESTCA > timesubca.cnf
15 basicConstraints=critical,CA:true
16 keyUsage=critical,keyCertSign, cRLSign
17
18 subjectKeyIdentifier = hash
19 authorityKeyIdentifier = keyid:always
20
21 crlDistributionPoints=URI:http://g2.crl.${DOMAIN}/g2/$2.crl
22 authorityInfoAccess = OCSP;URI:http://g2.ocsp.${DOMAIN},caIssuers;URI:http://g2.crt.${DOMAIN}/g2/$2.crt
23
24 certificatePolicies=@polsect
25
26 [polsect]
27 policyIdentifier = 1.3.6.1.4.1.18506.9.${CPSID}
28 CPS.1="http://g2.cps.${DOMAIN}/g2/${KNAME}.cps"
29
30 TESTCA
31     caSign $1 $2 timesubca.cnf "$3" "$4"
32     rm timesubca.cnf
33 }
34
35 mkdir -p $year/ca
36
37
38 for i in $TIME_IDX; do
39     point=${year}${points[${i}]}
40     nextp=${points[$((${i} + 1))]}
41     if [[ "$nextp" == "" ]]; then
42         epoint=$((${year} + 3 ))${epoints[${i}]}
43     else
44         epoint=$((${year} + 2 ))${epoints[${i}]}
45     fi
46
47     . ../CAs/env
48     genca "/CN=$name ${year}-${i}" $year/ca/env_${year}_${i}
49     genTimeCA $year/ca/env_${year}_${i}.ca/key env "$point" "$epoint"
50     
51     for ca in $STRUCT_CAS; do
52         [ "$ca" == "env" ] && continue
53         . ../CAs/$ca
54         genKey "/CN=$name ${year}-${i}" $year/ca/${ca}_${year}_${i}
55         genTimeCA $year/ca/${ca}_${year}_${i} $ca "$point" "$epoint"
56     done
57 done