[OOM-CERT-SERVICE] Release 2.5.0
[oom/platform/cert-service.git] / certs / Makefile
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
3 .PHONY: all
4 #Clear certificates
5 clear:
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
9         @echo "#####done#####"
10
11 #Generate root private and public keys
12 step_1:
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#####"
18
19 #Export public key as certificate
20 step_2:
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#####"
24
25 #Self-signed root (import root certificate into truststore)
26 step_3:
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#####"
30
31 #Generate certService's client private and public keys
32 step_4:
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
38         @echo "####done####"
39
40 #Generate certificate signing request for certService's client
41 step_5:
42         @echo "Generate certificate signing request for certService's client"
43         keytool -certreq -keystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -file certServiceClient.csr
44         @echo "####done####"
45
46 #Sign certService's client certificate by root CA
47 step_6:
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"
52         @echo "####done####"
53
54 #Import root certificate into client
55 step_7:
56         @echo "Import root certificate into intermediate"
57         cat root.crt >> certServiceClientByRoot.crt
58         @echo "####done####"
59
60 #Import signed certificate into certService's client
61 step_8:
62         @echo "Import signed certificate into certService's client"
63         keytool -importcert -file certServiceClientByRoot.crt -destkeystore certServiceClient-keystore.jks -alias certServiceClient -storepass secret -noprompt
64         @echo "####done####"
65
66 #Generate certService private and public keys
67 step_9:
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"
73         @echo "####done####"
74
75 #Generate certificate signing request for certService
76 step_10:
77         @echo "Generate certificate signing request for certService"
78         keytool -certreq -keystore certServiceServer-keystore.jks -alias oom-cert-service -storepass secret -file certServiceServer.csr
79         @echo "####done####"
80
81 #Sign certService certificate by root CA
82 step_11:
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"
87         @echo "####done####"
88
89 #Import root certificate into server
90 step_12:
91         @echo "Import root certificate into intermediate(server)"
92         cat root.crt >> certServiceServerByRoot.crt
93         @echo "####done####"
94
95 #Import signed certificate into certService
96 step_13:
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
100         @echo "####done####"
101
102 #Convert certServiceServer-keystore(.jks) to PCKS12 format(.p12)
103 step_14:
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#####"
108
109 #Convert certServiceClient-keystore(.jks) to PCKS12 format(.p12)
110 step_15:
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#####"
115
116 #Convert truststore(.jks) to PCKS12 format(.p12)
117 step_16:
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#####"
122
123 #Create CMPv2 Issuer PEM key pair from certServiceClient-keystore(.p12)
124 step_17:
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#####"
129
130 #Convert truststore(.p12) to PEM format(.pem)
131 step_18:
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#####"
135
136 #Clear unused certificates
137 step_19:
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#####"