123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- #!/bin/bash
- if ! [[ "$0" =~ "./gencerts.sh" ]]; then
- echo "must be run from 'fixtures'"
- exit 255
- fi
- if ! which cfssl; then
- echo "cfssl is not installed"
- exit 255
- fi
- cfssl gencert --initca=true ./ca-csr.json | cfssljson --bare ./ca
- mv ca.pem ca.crt
- if which openssl >/dev/null; then
- openssl x509 -in ca.crt -noout -text
- fi
- # generate DNS: localhost, IP: 127.0.0.1, CN: example.com certificates
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr.json | cfssljson --bare ./server
- mv server.pem server.crt
- mv server-key.pem server.key.insecure
- # generate DNS: localhost, IP: 127.0.0.1, CN: example.com certificates (ECDSA)
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr-ecdsa.json | cfssljson --bare ./server-ecdsa
- mv server-ecdsa.pem server-ecdsa.crt
- mv server-ecdsa-key.pem server-ecdsa.key.insecure
- # generate IP: 127.0.0.1, CN: example.com certificates
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr-ip.json | cfssljson --bare ./server-ip
- mv server-ip.pem server-ip.crt
- mv server-ip-key.pem server-ip.key.insecure
- # generate IPv6: [::1], CN: example.com certificates
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr-ipv6.json | cfssljson --bare ./server-ip
- mv server-ip.pem server-ipv6.crt
- mv server-ip-key.pem server-ipv6.key.insecure
- # generate DNS: localhost, IP: 127.0.0.1, CN: example2.com certificates
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr2.json | cfssljson --bare ./server2
- mv server2.pem server2.crt
- mv server2-key.pem server2.key.insecure
- # generate DNS: localhost, IP: 127.0.0.1, CN: "" certificates
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr3.json | cfssljson --bare ./server3
- mv server3.pem server3.crt
- mv server3-key.pem server3.key.insecure
- # generate revoked certificates and crl
- cfssl gencert --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr.json 2>revoked.stderr | cfssljson --bare ./server-revoked
- mv server-revoked.pem server-revoked.crt
- mv server-revoked-key.pem server-revoked.key.insecure
- grep serial revoked.stderr | awk ' { print $9 } ' >revoke.txt
- cfssl gencrl revoke.txt ca.crt ca-key.pem | base64 --decode >revoke.crl
- # generate wildcard certificates DNS: *.etcd.local
- cfssl gencert \
- --ca ./ca.crt \
- --ca-key ./ca-key.pem \
- --config ./gencert.json \
- ./server-ca-csr-wildcard.json | cfssljson --bare ./server-wildcard
- mv server-wildcard.pem server-wildcard.crt
- mv server-wildcard-key.pem server-wildcard.key.insecure
- rm -f *.csr *.pem *.stderr *.txt
|