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.