]> WPIA git - nre.git/blob - generateKeys.sh
adding multiple time-CAs per year
[nre.git] / generateKeys.sh
1 #!/bin/bash
2 # this script generates a set of sample keys
3 set -e
4
5 . structure
6 . commonFunctions
7
8
9 ####### create various extensions files for the various certificate types ######
10 cat <<TESTCA > ca.cnf
11 basicConstraints = CA:true
12 subjectKeyIdentifier = hash
13 keyUsage = keyCertSign, cRLSign
14 crlDistributionPoints=URI:http://g2.crl.cacert.org/g2/root.crl
15 authorityInfoAccess = OCSP;URI:http://g2.ocsp.cacert.org,caIssuers;URI:http://g2.crt.cacert.org/root.crt
16 TESTCA
17
18 cat <<TESTCA > subca.cnf
19 basicConstraints = CA:true
20 subjectKeyIdentifier = hash
21 keyUsage = keyCertSign, cRLSign
22 crlDistributionPoints=URI:http://g2.crl.cacert.org/g2/root.crl
23 authorityInfoAccess = OCSP;URI:http://g2.ocsp.cacert.org,caIssuers;URI:http://g2.crt.cacert.org/root.crt
24 TESTCA
25
26
27 rootSign(){ # csr
28     caSign "$1.ca/key" root subca.cnf
29 }
30
31
32 # Generate the super Root CA
33 genca "/CN=Cacert-gigi testCA" root
34 #echo openssl x509 -req $ROOT_VALIDITY -in root.ca/key.csr -signkey root.ca/key.key -out root.ca/key.crt -extfile ca.cnf
35 rootSign root
36
37 # generate the various sub-CAs
38 for ca in $STRUCT_CAS; do
39     . CAs/$ca
40     genca "/CN=$name" $ca
41     rootSign $ca
42 done
43
44 rm ca.cnf subca.cnf
45
46
47