01 agosto, 2019

Renovar certificados: Comprabar si el certificado, clave privada y el CSR coinciden (OpenSSL)

Al renovar los certificados de un servidor web podemos encontrarnos con errores en el momento de sustitución de los ficheros de certificados en los Virtual Host en el caso de Apache por ejemplo.
<VirtualHost *:443>
...
SSLEngine on
SSLCertificateFile /ruta/a/public.crt
SSLCertificateKeyFile /ruta/a/private.key
SSLCertificateChainFile /ruta/a/intermediate.crt
...
</VirtualHost>
Para comprobar la integridad de los ficheros de certificados, debemos verificar que la suma de verificación (checksum) calculada a través una función hash el certificado, la clave privada y el CSR (Certificate Signing Request) deberían ser los mismos resultados para todos.

Si se obtiene un valor MD5 o SHA256 diferente, significa que el certificado, la clave privada y el CSR no coinciden.

Para comprobar estos valores podemos hacer uso de las herramientas que nos proporciona OpenSSL.

Método 1: Usando OpenSSL y MD5

# openssl rsa -noout -modulus -in private.key | openssl md5
# openssl req -noout -modulus -in intermediate.csr | openssl md5
# openssl x509 -noout -modulus -in public.crt | openssl md5

Método 2: Usando OpenSSL y sha256sum

# openssl pkey -in private.key -pubout -outform pem | sha256sum
# openssl req -in intermediate.csr -pubkey -noout -outform pem | sha256sum
# openssl x509 -in public.crt -pubkey -noout -outform pem | sha256sum
Saludos!
Entradas Relacionadas