]> WPIA git - nre.git/blob - generateKeys.sh
upd: find libfaketime platform independently
[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 mkdir -p generated
9 cd generated
10
11 ####### create various extensions files for the various certificate types ######
12 cat <<TESTCA > ca.cnf
13 basicConstraints = CA:true
14 keyUsage = keyCertSign, cRLSign
15
16 subjectKeyIdentifier = hash
17 authorityKeyIdentifier = keyid:always
18
19 crlDistributionPoints=URI:http://g2.crl.${DOMAIN}/g2/root.crl
20 authorityInfoAccess = OCSP;URI:http://g2.ocsp.${DOMAIN},caIssuers;URI:http://g2.crt.${DOMAIN}/g2/root.crt
21 TESTCA
22
23 cat <<TESTCA > subca.cnf
24 basicConstraints = CA:true
25 keyUsage = keyCertSign, cRLSign
26
27 subjectKeyIdentifier = hash
28 authorityKeyIdentifier = keyid:always
29
30 crlDistributionPoints=URI:http://g2.crl.${DOMAIN}/g2/root.crl
31 authorityInfoAccess = OCSP;URI:http://g2.ocsp.${DOMAIN},caIssuers;URI:http://g2.crt.${DOMAIN}/g2/root.crt
32 TESTCA
33
34
35 rootSign(){ # csr
36     caSign "$1.ca/key" root subca.cnf
37 }
38
39
40 # Generate the super Root CA
41 genca "/CN=Cacert-gigi testCA" root
42 #echo openssl x509 -req $ROOT_VALIDITY -in root.ca/key.csr -signkey root.ca/key.key -out root.ca/key.crt -extfile ca.cnf
43 rootSign root
44
45 # generate the various sub-CAs
46 for ca in $STRUCT_CAS; do
47     . ../CAs/$ca
48     genca "/CN=$name" $ca
49     rootSign $ca
50 done
51
52 rm ca.cnf subca.cnf
53
54
55