OpenSSL trabajando con certificados SSL, claves privadas y CSRS

OpenSSL trabajando con certificados SSL, claves privadas y CSRS

OpenSSL es un kit de herramientas de código abierto robusto y completo que implementa los protocolos SSL y TLS, así como una biblioteca de criptografía de uso general. Se utiliza ampliamente para administrar certificados SSL/TLS, claves privadas y solicitudes de firma de certificados (CSRS) en varios sistemas. En este artículo, exploraremos cómo trabajar con certificados SSL, claves privadas y CSR utilizando OpenSSL, junto con ejemplos para ayudarlo a comprender cada paso.

Introducción

  • Certificados SSL: Estos certificados digitales se utilizan para establecer una conexión segura entre un servidor y un cliente utilizando protocolos SSL/TLS. Contienen información sobre el titular del certificado, el emisor del certificado y la clave pública.
  • Claves privadas: Estas son claves criptográficas utilizadas en el proceso de apretón de manos SSL/TLS para asegurar la conexión. Deben mantenerse en secreto y seguro.
  • CSR: Una solicitud de firma de certificado es un mensaje enviado a una autoridad de certificado (CA) para solicitar un certificado digital para un servidor.

Instalación de OpenSSL

Antes de trabajar con OpenSSL, asegúrese de que esté instalado en su sistema. Para la mayoría de las distribuciones de Linux, OpenSSL viene preinstalado. Si no es así, puede instalarlo utilizando el Administrador de paquetes. Por ejemplo:

  • Ubuntu/Debian: 'sudo apt-get install openssl'
  • CentOS/Fedora: 'sudo yum install openssl'

Para Windows, puede descargar la última versión del sitio web oficial: https: // www.openssl.org/

Generando una llave privada

Para crear una clave privada, use el siguiente comando:

openssl genpkey -algorithm rsa -out private_key.PEM -PKeyopt RSA_Keygen_Bits: 2048  

Este comando genera una clave privada RSA de 2048 bits y la guarda en el private_key.archivo PEM.

Creando una CSR

Para generar una CSR utilizando la clave privada creada anteriormente, ejecute el siguiente comando:

openssl req -new -key private_key.PEM -Out CSR.pem  

Se le pedirá que ingrese información sobre su organización y servidor, como país, estado, ciudad, nombre de la organización, nombre común (nombre de dominio) y dirección de correo electrónico. Después de completar las indicaciones, la CSR se guardará en la CSR.archivo PEM.

Autofirmación de un certificado SSL

En algunos casos, es posible que necesite un certificado autofirmado para fines de prueba. Para crear uno, use el siguiente comando:

OpenSSL x509 -Req -in CSR.PEM -SignKey private_key.PEM -out self_signed_certificate.Pem -days 365  

Este comando crea un certificado SSL autofirmado con una validez de 365 días utilizando la CSR y la clave privada proporcionadas.

Inspeccionar certificados SSL, claves privadas y CSRS

Para ver los detalles de un certificado SSL, use:

OpenSSL x509 -in certificado.PEM -Text -NoOut  

Para inspeccionar una clave privada, use:

OpenSSL rsa -in private_key.PEM -Text -NoOut  

Para ver una CSR, use:

OpenSSL req -in CSR.PEM -Text -NoOut  

Convertir formatos de certificado

OpenSSL admite conversiones de certificados, como convertir un certificado PEM a un formato DER:

OpenSSL x509 -in certificado.PEM -Outform der -out certificado.derrota  

Este comando convierte el certificado.archivo PEM desde Pem formatear a Derrota formatear y guardarlo como certificado.derrota.

Para convertir un certificado DER en formato PEM, use:

OpenSSL x509 -inform der -in certificado.der -out certificado.pem  

Este comando convierte el certificado.derrota presentar desde Derrota formatear a Pem formatear y guardarlo como certificado.pem.

Renovar y revocar certificados SSL

Para renovar un certificado SSL, debe crear un nuevo CSR y enviarlo a la Autoridad de Certificado (CA). Siga los pasos descritos en las Secciones 3 y 4 para generar una nueva clave privada (si es necesario) y una nueva CSR. Envíe el nuevo CSR a su CA, y le proporcionarán un certificado SSL actualizado.

Para revocar un certificado SSL, comuníquese con su autoridad de certificado (CA) y proporcione los detalles necesarios, como el número de serie del certificado o una copia del certificado. La CA luego agregará el certificado a su lista de revocación de certificados (CRL), que informa a los clientes que el certificado ya no es válido.

Conclusión

En este artículo, hemos cubierto cómo trabajar con certificados SSL, claves privadas y CSR utilizando OpenSSL. Hemos explorado cómo generar claves privadas, crear CSRS, certificados SSL de auto-signo, inspeccionar varios archivos relacionados con SSL, convertir formatos de certificado y renovar o revocar certificados SSL. Con este conocimiento, puede administrar con confianza los certificados SSL para sus proyectos, asegurando conexiones seguras y cifradas entre clientes y servidores.