La Guía Completa de OpenSSL: Certificados y Claves
OpenSSL es la navaja suiza de la criptografía. Ya sea que esté generando un nuevo certificado SSL para su sitio web, convirtiendo una clave entre diferentes formatos o depurando un problema de cadena de certificados, OpenSSL es la herramienta que utilizará. Sin embargo, su interfaz de línea de comandos es famosamente compleja.
Esta guía proporciona un camino claro a través de las tareas más comunes de OpenSSL, desde la generación de su primer certificado autofirmado hasta la realización de conversiones avanzadas.
1. Generación de Certificados y Solicitudes
Antes de poder tener un certificado, necesita generar una clave y, a menudo, una Solicitud de Firma de Certificado (CSR).
Generador de CSR en Línea
Si bien un generador de CSR en línea es una forma rápida de crear una solicitud, es más seguro generarla localmente para que su clave privada nunca salga de su servidor. Un CSR contiene información sobre su organización y la clave pública que desea que sea firmada por una Autoridad de Certificación (CA).
Generador de Certificados Autofirmados
Para entornos de prueba internos o de desarrollo, un generador de certificados autofirmados suele ser suficiente. Le permite crear un certificado que no es de confianza para los navegadores públicos pero que es funcionalmente idéntico para la comunicación cifrada.
Hoja de Trucos de OpenSSL: Generación de Claves
- Generar una Clave Privada RSA:
openssl genrsa -out privada.key 2048 - Generar un CSR:
openssl req -new -key privada.key -out solicitud.csr - Generar un Certificado Autofirmado:
openssl x509 -req -days 365 -in solicitud.csr -signkey privada.key -out certificado.crt
2. Conversión de Formatos
Diferentes plataformas y servidores requieren diferentes formatos de certificado.
Conversor de PEM a DER y de DER a PEM
- PEM: El formato más común, generalmente
.crto.pem. Está codificado en base64 y contiene texto como-----BEGIN CERTIFICATE-----. - DER: Una representación binaria del certificado, a menudo utilizada por Java o hardware especializado.
Hoja de Trucos de OpenSSL: Comandos de Conversión
- Conversor de PEM a DER:
openssl x509 -in cert.pem -outform der -out cert.der - Conversor de DER a PEM:
openssl x509 -in cert.der -inform der -out cert.pem
Conversor de PKCS#12 a PEM
Windows y algunos sistemas empresariales utilizan el formato PKCS#12 (.p12 o .pfx), que agrupa el certificado y la clave privada en un único archivo protegido por contraseña.
- Conversor de PKCS#12 a PEM:
openssl pkcs12 -in cert.p12 -out cert.pem -nodes
3. Depuración y Validación
Nada es más frustrante que un error de "Certificado Inválido". Las herramientas para decodificar y verificar sus certificados son esenciales.
Decodificador de Certificados SSL
Un decodificador de certificados SSL le permite leer los detalles legibles por humanos de un archivo de certificado.
- Ver información del certificado:
openssl x509 -in certificado.crt -text -noout - Ver información del CSR:
openssl req -in solicitud.csr -text -noout
Verificador de Cadena de Certificados
Un verificador de cadena de certificados asegura que su servidor esté sirviendo la cadena completa, incluyendo los certificados intermedios. Si la cadena está rota, los dispositivos móviles y algunos navegadores mostrarán una advertencia de seguridad.
- Verificar un archivo local:
openssl verify -CAfile ca-bundle.crt certificado.crt - Verificar un servidor remoto:
openssl s_client -connect google.com:4443
4. Resumen
OpenSSL es una herramienta potente pero intimidante. Al usar nuestra hoja de trucos de OpenSSL y comprender las tareas comunes como la conversión de PEM a DER o la generación de CSR, puede administrar con confianza la infraestructura de seguridad de cualquier aplicación web moderna.
Recuerde siempre mantener sus claves privadas en privado, utilizar algoritmos sólidos (como RSA 2048+ o ECC) y verificar sus cadenas de certificados antes de desplegarlas en producción.