Un simple script para generar un certificado autofirmado

Muchas veces me veo en la necesidad de generar un certificado autofirmado para un servidor web temporal o de prueba.

En esta entrada vamos a crear un pequeño script que nos facilitará este trabajo.

#!/bin/bash
export CERNAME=api.apiprovider.com
export CERPASS=temp0ral
openssl req -new -newkey rsa:2048 -nodes -keyout ${CERNAME}.key -out ${CERNAME}.csr -sha256  \
 -subj "/C=ES/ST=ANDALUCIA/L=SEVILLA/O=falc0n SP/OU=Operaciones/CN=${CERNAME}" -passout "env:CERPASS"
openssl rsa -in ${CERNAME}.key -out ${CERNAME}.key.tmp
openssl x509 -req -days 1024 -in ${CERNAME}.csr -signkey ${CERNAME}.key.tmp -out ${CERNAME}.crt  -passin "env:CERPASS"

Tan solo tenemos que modificar el valor de CERNAME indicando el dominio que vamos a emplear.

En la ruta donde hemos ejecutado el script tendremos los siguientes ficheros:

  • api.apiprovider.com.key : Contiene la clave de cifrado.
  • api.apiprovider.com.crt : Contiene el certificado firmado.