Alguna vez nos ha tocado crear certificados autofirmados y es una tarea un poco odiosa, pues con esta entrada voy a explicar como crear un certificado autofirmado comodín o wildcard para poder utilizar en cada web del mismo dominio.
Creamos la clave privada del certificado intermedio.
openssl genrsa -des3 -out CAPrivate.key 2048
Generamos el certificado intermedio.
openssl req -x509 -new -nodes -key CAPrivate.key -sha256 -days 365 -out CAPrivate.pem
Creamos clave privada.
openssl genrsa -out MyPrivate.key 2048
Generamos el CSR
openssl req -new -key MyPrivate.key -extensions v3_ca -out MyRequest.csr
Creamos el fichero openssl.ss.cnf para crear la entrada de dominio wildcard a utilizar.
basicConstraints=CA:FALSE
subjectAltName=DNS:*.mydomain.tld
extendedKeyUsage=serverAuth
Creamos el certificado utilizando el CSR creado.
openssl x509 -req -in MyRequest.csr -CA CAPrivate.pem -CAkey CAPrivate.key -CAcreateserial -extfile openssl.ss.cnf -out MyCert.crt -days 365 -sha256
Y ya tendríamos el certificado creado, teniendo los siguientes ficheros:
Clave privada: MyPrivate.key
Certificado intermedio: CAPrivate.pem
Certificado wildcard: MyCert.crt
Si quisiéramos utilizar el navegador en un servidor web tipo nginx pues solo tendríamos que crear un fichero bundle fusionando el certificado intermedio y el wildcard.
cat MyCert.crt CAPrivate.pem > MyCert.bundle.crt