Skip to main content

Generación de CRL

Client Revocation List (CRL) es un fichero que indica a los navegadores o sistemas si alguno de los certificados firmados por esa entidad ya no es confiable (es una forma de retirar la confianza en un certificado antes de que caduque).

Por ejemplo en caso de que hayan comprometido el servidor, o si es un certificado de equipo y han robado el portatil, poder informar que el certificado de ese equipo ya no es fiable.

Para generar la CRL de la Root CA

cd /root/ca
openssl ca -gencrl -config root-ca-openssl.cnf -out root-ca.crl

Para generar la CRL de la Intermediate CA

cd /root/ca/intermediate
openssl ca -gencrl -config sub-ca-openssl.cnf -out sub-ca.crl

Recuerde subir el fichero a las rutas URI que ha indicado en el fichero root-ca-openssl.cnf y en el sub-ca-openssl.cnf renombrandolos correctamente, así todos los equipos que vayan a conectarse con una web o otro equipo que tenga un certificado por la CRL indicada, podrán validar si hay algun certificado revocado.

El contenido del fichero generado root-ca.crl tendrá el siguiente formato.

Desde un sistema Windows, puede hacer doble clic en el fichero CRL y en la pestaña

Desde el mismo servidor, puede ejecutar los siguientes comandos para visualizar que certificados están revocados.

openssl crl -in /root/ca/root-ca.crl -text -noout

o para la Intermediate CRL

openssl crl -in /root/ca/intermediate/sub-ca.crl -text -noout

También puede consultar el fichero database, si el certificado está revocado tendrá una fecha de inicio y de fin.

Error while loading CRL number

En caso de que aparezca el siguiente error:

Using configuration from root-ca-openssl.cnf
Enter pass phrase for /root/ca/private/root-ca.key.pem:
/root/ca/crlnumber: No such file or directory
40874152B17F0000:error:80000002:system library:BIO_new_file:No such file or directory:../crypto/bio/bss_file.c:67:calling fopen(/root/ca/crlnumber, r)
40874152B17F0000:error:10000080:BIO routines:BIO_new_file:no such file:../crypto/bio/bss_file.c:75:
error while loading CRL number

Se deberá revisar que exista el fichero crlnumber en las carpetas de la root-ca y de la intermediate. En caso de no existir, se deberá crear dicho fichero.

Para la root-ca

echo 1000 > /root/ca/crlnumber

Para la subca

echo 1000 > /root/ca/intermediate/crlnumber

El número no tiene porque ser el 1000, puede ser un numero aleatorio. Ya que solo indicará "la versión" de la CRL, a mayor número, se entenderá que es una versión más nueva.