Docs:
- http://docs.aws.amazon.com/ElasticLoadBalancing/latest/DeveloperGuide/ssl-server-cert.html
- http://wiki.cacert.org/FAQ/subjectAltName
- http://apetec.com/support/GenerateSAN-CSR.htm
- http://datacenteroverlords.com/2012/03/01/creating-your-own-ssl-certificate-authority/
$ openssl genrsa -out root-key.pem 2048
$ openssl req -x509 -new -nodes \
-key root-key.pem \
-sha256 -days 1024 \
-out root-ca.pem \
-subj "/C=US/ST=California/L=Palo Alto/O=Pivotal Software, Inc./OU=Pivotal Demos/CN=Pivotal Demos Root CA/[email protected]"
$ openssl x509 -text -in root-ca.pem
$ cp /usr/local/etc/openssl/openssl.cnf openssl-san.cnf
[ req ]
req_extensions = v3_req # The extensions to add to a certificate request
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names
[alt_names]
DNS.1 = *.stratus.pcfdemo.com
DNS.2 = *.cfapps.stratus.pcfdemo.com
DNS.3 = *.sys.stratus.pcfdemo.com
DNS.4 = *.login.system.stratus.pcfdemo.com
DNS.5 = *.uaa.system.stratus.pcfdemo.com
DNS.6 = *.pks.stratus.pcfdemo.com
$ openssl genrsa -out server-key.pem 2048
$ openssl req -sha256 -new \
-key server-key.pem \
-out server-csr.pem \
-config openssl-san.cnf \
-subj "/C=US/ST=California/L=Palo Alto/O=Pivotal Software, Inc./OU=Pivotal Demos/CN=*.stratus.pcfdemo.com/[email protected]"
$ openssl req -text -noout -in server-csr.pem
$ openssl x509 -req \
-in server-csr.pem \
-CA root-ca.pem \
-CAkey root-key.pem \
-CAcreateserial \
-out server-cert.pem \
-days 500 -sha256 \
-extensions v3_req \
-extfile openssl-san.cnf
$ openssl x509 -text -in server-cert.pem