Path: blob/main/crypto/openssl/demos/certs/apps/mkacerts.sh
34877 views
#!/bin/sh12# Recreate the demo certificates in the apps directory.34opensslcmd() {5LD_LIBRARY_PATH=../../.. ../../../apps/openssl $@6}78opensslcmd version910# Root CA: create certificate directly11CN="OpenSSL Test Root CA" opensslcmd req -config apps.cnf -x509 -nodes \12-keyout root.pem -out root.pem -key rootkey.pem -new -days 365013# Intermediate CA: request first14CN="OpenSSL Test Intermediate CA" opensslcmd req -config apps.cnf -nodes \15-key intkey.pem -out intreq.pem -new16# Sign request: CA extensions17opensslcmd x509 -req -in intreq.pem -CA root.pem -CAkey rootkey.pem -days 3630 \18-extfile apps.cnf -extensions v3_ca -CAcreateserial -out intca.pem19# Client certificate: request first20CN="Test Client Cert" opensslcmd req -config apps.cnf -nodes \21-key ckey.pem -out creq.pem -new22# Sign using intermediate CA23opensslcmd x509 -req -in creq.pem -CA intca.pem -CAkey intkey.pem -days 3600 \24-extfile apps.cnf -extensions usr_cert -CAcreateserial | \25opensslcmd x509 -nameopt oneline -subject -issuer >client.pem26# Server certificate: request first27CN="Test Server Cert" opensslcmd req -config apps.cnf -nodes \28-key skey.pem -out sreq.pem -new29# Sign using intermediate CA30opensslcmd x509 -req -in sreq.pem -CA intca.pem -CAkey intkey.pem -days 3600 \31-extfile apps.cnf -extensions usr_cert -CAcreateserial | \32opensslcmd x509 -nameopt oneline -subject -issuer >server.pem33# Server certificate #2: request first34CN="Test Server Cert #2" opensslcmd req -config apps.cnf -nodes \35-key skey2.pem -out sreq2.pem -new36# Sign using intermediate CA37opensslcmd x509 -req -in sreq2.pem -CA intca.pem -CAkey intkey.pem -days 3600 \38-extfile apps.cnf -extensions usr_cert -CAcreateserial | \39opensslcmd x509 -nameopt oneline -subject -issuer >server2.pem4041# Append keys to file.4243cat skey.pem >>server.pem44cat skey2.pem >>server2.pem45cat ckey.pem >>client.pem4647opensslcmd verify -CAfile root.pem -untrusted intca.pem \48server2.pem server.pem client.pem495051