50 lines
1.4 KiB
Bash
Executable File
50 lines
1.4 KiB
Bash
Executable File
source ./env.sh
|
|
|
|
# Root CA certificate
|
|
echo "Generating Root CA certificate..."
|
|
openssl req \
|
|
-x509 \
|
|
-newkey rsa:4096 \
|
|
-keyout ca_key.pem \
|
|
-out ca_cert.pem \
|
|
-days 3650 \
|
|
-noenc \
|
|
-subj "/CN=Test CA $(date +"%Y-%m-%d")" \
|
|
-addext "basicConstraints=critical,CA:TRUE,pathlen:1" \
|
|
-addext "keyUsage=critical,keyCertSign,cRLSign"
|
|
|
|
# Issuing CA certificate
|
|
echo "Generating Issuing CA certificate..."
|
|
openssl req \
|
|
-newkey rsa:4096 \
|
|
-keyout issuing_ca_key.pem \
|
|
-noenc \
|
|
-subj "/CN=Issuing Test CA $(date +"%Y-%m-%d")" \
|
|
-addext "basicConstraints=critical,CA:TRUE,pathlen:0" \
|
|
-addext "keyUsage=critical,keyCertSign,cRLSign" |
|
|
openssl x509 \
|
|
-req \
|
|
-CA ca_cert.pem \
|
|
-CAkey ca_key.pem \
|
|
-copy_extensions copyall \
|
|
-days 3650 \
|
|
-out issuing_ca_cert.pem
|
|
|
|
# Client certificate
|
|
echo "Generating Client certificate..."
|
|
openssl req \
|
|
-newkey rsa:4096 \
|
|
-keyout client_key.pem \
|
|
-noenc \
|
|
-subj "/CN=test-client" \
|
|
-addext "basicConstraints=critical,CA:FALSE" \
|
|
-addext "keyUsage=critical,digitalSignature,keyEncipherment" \
|
|
-addext "extendedKeyUsage=clientAuth" |
|
|
openssl x509 \
|
|
-req \
|
|
-CA issuing_ca_cert.pem \
|
|
-CAkey issuing_ca_key.pem \
|
|
-copy_extensions copyall \
|
|
-days 365 \
|
|
-out client_cert.pem
|