1 all: step_1 step_2 step_3 step_4 step_5 step_6 step_7 step_8 step_9 step_10 step_11 step_12 step_13 step_14 step_15 \
2 step_16 step_17 step_18 step_19
6 @echo "Clear certificates"
7 rm certServiceClient-keystore.jks certServiceServer-keystore.jks root.crt truststore.jks certServiceServer-keystore.p12 \
8 cmpv2Issuer-cert.pem cmpv2Issuer-key.pem cacert.pem
11 #Generate root private and public keys
13 @echo "Generate root private and public keys"
14 keytool -genkeypair -v -alias root -keyalg RSA -keysize 4096 -validity 3650 -keystore root-keystore.jks \
15 -dname "CN=onap.org, OU=ONAP, O=Linux-Foundation, L=San-Francisco, ST=California, C=US" -keypass secret \
16 -storepass secret -ext BasicConstraints:critical="ca:true"
17 @echo "#####done#####"
19 #Export public key as certificate
21 @echo "(Export public key as certificate)"
22 keytool -exportcert -alias root -keystore root-keystore.jks -storepass secret -file root.crt -rfc
23 @echo "#####done#####"
25 #Self-signed root (import root certificate into truststore)
27 @echo "(Self-signed root (import root certificate into truststore))"
28 keytool -importcert -alias root -keystore truststore.jks -file root.crt -storepass secret -noprompt
29 @echo "#####done#####"
31 #Generate certService's client private and public keys
33 @echo "Generate certService's client private and public keys"
34 keytool -genkeypair -v -alias certServiceClient -keyalg RSA -keysize 2048 -validity 365 \
35 -keystore certServiceClient-keystore.jks -storetype JKS \
36 -dname "CN=onap.org,OU=ONAP,O=Linux-Foundation,L=San-Francisco,ST=California,C=US" \
37 -keypass secret -storepass secret
40 #Generate certificate signing request for certService's client
42 @echo "Generate certificate signing request for certService's client"
43 keytool -certreq -keystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -file certServiceClient.csr
46 #Sign certService's client certificate by root CA
48 @echo "Sign certService's client certificate by root CA"
49 keytool -gencert -v -validity 365 -keystore root-keystore.jks -storepass secret -alias root \
50 -infile certServiceClient.csr -outfile certServiceClientByRoot.crt -rfc -ext bc=0 \
51 -ext ExtendedkeyUsage="serverAuth,clientAuth"
54 #Import root certificate into client
56 @echo "Import root certificate into intermediate"
57 cat root.crt >> certServiceClientByRoot.crt
60 #Import signed certificate into certService's client
62 @echo "Import signed certificate into certService's client"
63 keytool -importcert -file certServiceClientByRoot.crt -destkeystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -noprompt
66 #Generate certService private and public keys
68 @echo "Generate certService private and public keys"
69 keytool -genkeypair -v -alias oom-cert-service -keyalg RSA -keysize 2048 -validity 365 \
70 -keystore certServiceServer-keystore.jks -storetype JKS \
71 -dname "CN=onap.org,OU=ONAP,O=Linux-Foundation,L=San-Francisco,ST=California,C=US" \
72 -keypass secret -storepass secret -ext BasicConstraints:critical="ca:false"
75 #Generate certificate signing request for certService
77 @echo "Generate certificate signing request for certService"
78 keytool -certreq -keystore certServiceServer-keystore.jks -alias oom-cert-service -storepass secret -file certServiceServer.csr
81 #Sign certService certificate by root CA
83 @echo "Sign certService certificate by root CA"
84 keytool -gencert -v -validity 365 -keystore root-keystore.jks -storepass secret -alias root \
85 -infile certServiceServer.csr -outfile certServiceServerByRoot.crt -rfc -ext bc=0 \
86 -ext ExtendedkeyUsage="serverAuth,clientAuth" -ext SubjectAlternativeName:="DNS:oom-cert-service,DNS:localhost"
89 #Import root certificate into server
91 @echo "Import root certificate into intermediate(server)"
92 cat root.crt >> certServiceServerByRoot.crt
95 #Import signed certificate into certService
97 @echo "Import signed certificate into certService"
98 keytool -importcert -file certServiceServerByRoot.crt -destkeystore certServiceServer-keystore.jks -alias oom-cert-service \
99 -storepass secret -noprompt
102 #Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12)
104 @echo "Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12)"
105 keytool -importkeystore -srckeystore certServiceServer-keystore.jks -srcstorepass secret \
106 -destkeystore certServiceServer-keystore.p12 -deststoretype PKCS12 -deststorepass secret
107 @echo "#####done#####"
109 #Convert certServiceClient-keystore(.jks) to PCKS12 format(.p12)
111 @echo "Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12)"
112 keytool -importkeystore -srckeystore certServiceClient-keystore.jks -srcstorepass secret \
113 -destkeystore certServiceClient-keystore.p12 -deststoretype PKCS12 -deststorepass secret
114 @echo "#####done#####"
116 #Convert truststore(.jks) to PCKS12 format(.p12)
118 @echo "Convert truststore(.jks) to PCKS12 format(.p12)"
119 keytool -importkeystore -srckeystore truststore.jks -srcstorepass secret \
120 -destkeystore truststore.p12 -deststoretype PKCS12 -deststorepass secret
121 @echo "#####done#####"
123 #Create CMPv2 Issuer PEM key pair from certServiceClient-keystore(.p12)
125 @echo "Create CMPv2 Issuer key pair from certServiceClient-keystore(.p12)"
126 openssl pkcs12 -in certServiceServer-keystore.p12 -passin 'pass:secret' -nokeys -out cmpv2Issuer-cert.pem
127 openssl pkcs12 -in certServiceServer-keystore.p12 -passin 'pass:secret' -nodes -nocerts -out cmpv2Issuer-key.pem
128 @echo "#####done#####"
130 #Convert truststore(.p12) to PEM format(.pem)
132 @echo "Create CMPv2 Issuer key pair from certServiceClient-keystore(.p12)"
133 openssl pkcs12 -in truststore.p12 -passin 'pass:secret' -out cacert.pem
134 @echo "#####done#####"
136 #Clear unused certificates
138 @echo "Clear unused certificates"
139 rm certServiceClientByRoot.crt certServiceClient.csr root-keystore.jks certServiceServerByRoot.crt \
140 certServiceServer.csr certServiceClient-keystore.p12 truststore.p12
141 @echo "#####done#####"