Cómo crear un certificado autofirmado con OpenSSL

Cómo crear un certificado autofirmado con OpenSSL
Lectores como tú ayudan a apoyar a MUO. Cuando realiza una compra utilizando enlaces en nuestro sitio, podemos ganar una comisión de afiliado. Leer más.

Los certificados SSL/TLS son esenciales para proteger su aplicación o servidor web. Si bien varias autoridades de certificación confiables brindan certificados SSL/TLS por un costo, también es posible generar un certificado autofirmado utilizando OpenSSL. Aunque los certificados autofirmados no cuentan con el respaldo de una autoridad de confianza, aún pueden cifrar su tráfico web. Entonces, ¿cómo puede usar OpenSSL para generar un certificado autofirmado para su sitio web o servidor?





MAKEUSEOF VÍDEO DEL DÍA DESPLAZAR PARA CONTINUAR CON EL CONTENIDO

Cómo instalar OpenSSL

OpenSSL es un software de código abierto. Pero si no tiene experiencia en programación y le preocupan los procesos de compilación, tiene un poco de configuración técnica. Para evitar esto, puede descargar la última versión del código de OpenSSL, completamente compilado y listo para instalar, desde sitio de slproweb .





Aquí, seleccione la extensión MSI de la última versión de OpenSSL adecuada para su sistema.





2 aplicaciones de reproductor en dispositivos separados
  Captura de pantalla del sitio web slproweb para descargar OpenSSL

Como ejemplo, considere OpenSSL en D:\OpenSSL-Win64 . Puedes cambiar esto. Si la instalación está completa, abrir PowerShell como administrador y navegue a la subcarpeta llamada papelera en la carpeta donde instaló OpenSSL. Para hacer esto, use el siguiente comando:

 cd 'D:\OpenSSL-Win64\bin' 

Ahora tienes acceso a abressl.exe y puedes ejecutarlo como quieras.



  Ejecutando el comando version para ver si openssl está instalado

Genere su clave privada con OpenSSL

Necesitará una clave privada para crear un certificado autofirmado. En la misma carpeta bin, puede crear esta clave privada ingresando el siguiente comando en PowerShell una vez que haya abierto como administrador.

 openssl.exe genrsa -des3 -out myPrivateKey.key 2048 

Este comando generará una clave privada RSA cifrada con 3DES de 2048 bits de longitud a través de OpenSSL. OpenSSL le pedirá que ingrese una contraseña. Deberías usar un contraseña fuerte y memorable . Después de ingresar la misma contraseña dos veces, habrá generado con éxito su clave privada RSA.





  Salida del comando utilizado para generar la clave RSA

Puede encontrar su clave RSA privada con el nombre miClavePrivada.clave .

Cómo crear un archivo CSR con OpenSSL

La clave privada que cree no será suficiente por sí sola. Además, necesita un archivo CSR para crear un certificado autofirmado. Para crear este archivo CSR, debe ingresar un nuevo comando en PowerShell:





 openssl.exe req -new -key myPrivateKey.key -out myCertRequest.csr 

OpenSSL también le pedirá la contraseña que ingresó para generar la clave privada aquí. Además, solicitará su información legal y personal. Tenga cuidado de ingresar esta información correctamente.

  Salida del comando utilizado para generar el archivo CSR

Además, es posible hacer todas las operaciones hasta ahora con una sola línea de comando. Si usa el siguiente comando, puede generar tanto su clave RSA privada como el archivo CSR a la vez:

¿Necesitas un proveedor de Internet para usar un enrutador inalámbrico?
 openssl.exe req -new -newkey rsa:2048 -nodes -keyout myPrivateKey2.key -out myCertRequest2.csr 
  Salida del comando utilizado para crear archivos RSA y CSR de una sola vez

Ahora podrá ver el archivo llamado myCertRequest.csr en el directorio correspondiente. Este archivo CSR que crea contiene información sobre:

  • La institución que solicita el certificado.
  • Nombre común (es decir, nombre de dominio).
  • Clave pública (para fines de cifrado).

Los archivos CSR que cree deben ser revisados ​​y aprobados por ciertas autoridades. Para ello, debe enviar el archivo CSR directamente a la autoridad de certificación u otras instituciones intermediarias.

Estas autoridades y casas de bolsa examinan si la información que proporcionas es correcta, dependiendo de la naturaleza del certificado que deseas. Es posible que también deba enviar algunos documentos sin conexión (fax, correo, etc.) para comprobar si la información es correcta.

Elaboración del Certificado por una Autoridad de Certificación

Cuando envía el archivo CSR que creó a una autoridad certificadora válida, la autoridad certificadora firma el archivo y envía el certificado a la institución o persona solicitante. Al hacerlo, la autoridad de certificación (también conocida como CA) también crea un archivo PEM a partir de los archivos CSR y RSA. El archivo PEM es el último archivo requerido para un certificado autofirmado. Estas etapas aseguran que Los certificados SSL permanecen organizados, confiables y seguros .

También puede crear un archivo PEM usted mismo con OpenSSL. Sin embargo, esto puede representar un riesgo potencial para la seguridad de su certificado porque la autenticidad o validez de este último no está clara. Además, el hecho de que su certificado no sea verificable puede hacer que no funcione en algunas aplicaciones y entornos. Entonces, para este ejemplo de un certificado autofirmado, podemos usar un archivo PEM falso, pero, por supuesto, esto no es posible en el mundo real.

Por ahora, imagina un archivo PEM llamado myPemKey.pem proviene de una autoridad de certificación oficial. Puede usar el siguiente comando para crear un archivo PEM para usted:

 openssl x509 -req -sha256 -days 365 -in myCertRequest.csr -signkey myPrivateKey.key -out myPemKey.pem 

Si tuviera un archivo de este tipo, el comando que debería usar para su certificado autofirmado sería:

 openssl.exe x509 -req -days 365 -in myCertRequest.csr -signkey myPemKey.pem -out mySelfSignedCert.cer 

Este comando significa que el archivo CSR está firmado con una clave privada denominada myPemKey.pem , válido por 365 días. Como resultado, crea un archivo de certificado llamado mySelfSignedCert.cer .

  Imagen de que existe un certificado autofirmado en la carpeta

Información del certificado autofirmado

Puede usar el siguiente comando para verificar la información en el certificado autofirmado que ha creado:

 openssl.exe x509 -noout -text -in mySelfSignedCert.cer 

Esto le mostrará toda la información contenida en el certificado. Es posible ver mucha información, como la empresa o información personal, y los algoritmos utilizados en el certificado.

¿Qué sucede si los certificados autofirmados no están firmados por la autoridad de certificación?

Es fundamental auditar los certificados autofirmados que crea y confirmar que son seguros. Un proveedor de certificados de terceros (es decir, una CA) suele hacer esto. Si no tiene un certificado firmado y aprobado por una entidad emisora ​​de certificados externa y utiliza este certificado no aprobado, se encontrará con algunos problemas de seguridad.

Los piratas informáticos pueden usar su certificado autofirmado para crear una copia falsa de un sitio web, por ejemplo. Esto permite que un atacante robe la información de los usuarios. También pueden obtener los nombres de usuario, las contraseñas u otra información confidencial de sus usuarios.

Para garantizar la seguridad de los usuarios, los sitios web y otros servicios normalmente necesitan usar certificados que en realidad están certificados por una CA. Esto proporciona una garantía de que los datos del usuario están encriptados y se conectan al servidor correcto.

reenviar automáticamente mensajes de texto al correo electrónico

Creación de certificados autofirmados en Windows

Como puede ver, crear un certificado autofirmado en Windows con OpenSSL es bastante simple. Pero tenga en cuenta que también necesitará la aprobación de las autoridades de certificación.

No obstante, hacer un certificado de este tipo demuestra que se toma en serio la seguridad de los usuarios, lo que significa que confiarán más en usted, en su sitio y en su marca en general.