Cuando configuramos HTTPS en Apache o necesitamos depurar un problema con el certificado,
openssl nos permite inspeccionarlo desde la línea de comandos sin necesidad de abrir
un navegador.
Para conectarnos a un servidor y ver su certificado:
openssl s_client -connect example.com:443
La salida incluye la cadena de certificados, las fechas de validez y el emisor. Para ver solo la información del certificado (sin el resto de la sesión TLS):
openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -text
Para ver las fechas de validez de forma concisa:
openssl s_client -connect example.com:443 2>/dev/null | openssl x509 -noout -dates
La salida muestra notBefore y notAfter, que son las fechas de inicio y caducidad del
certificado.
Si tenemos el archivo del certificado en disco (por ejemplo, para verificarlo antes de instalarlo en Apache):
openssl x509 -in miservidor.crt -noout -text
Para verificar que la clave privada corresponde al certificado (los hashes deben coincidir):
openssl x509 -in miservidor.crt -noout -modulus | md5sum
openssl rsa -in miservidor.key -noout -modulus | md5sum
openssl también permite generar claves y crear solicitudes de certificado (CSR). Para eso,
puedes ver cómo crear un certificado SSL autofirmado.