Generar manualmente una solicitud de firma de certificado (CSR) usando OpenSSL

Este tutorial le mostrará cómo generar manualmente una solicitud de firma de certificado (o CSR) en un entorno de alojamiento web Apache o Nginx utilizando OpenSSL.

¿Qué es OpenSSL?
OpenSSL es un conjunto de herramientas de línea de comandos de código abierto muy útil para trabajar con certificados X.509 , solicitudes de firma de certificados (CSR) y claves criptográficas. Si está utilizando una variante de UNIX como Linux o macOS, es probable que OpenSSL ya esté instalado en su computadora. Si desea utilizar OpenSSL en Windows, puede habilitar el subsistema Linux de Windows 10 o instalar Cygwin .

En estas instrucciones, vamos a utilizar el comando de OpenSSL req para generar tanto la clave privada como el CSR en un solo comando. Generar la clave privada de esta manera garantizará que se le solicite una frase de contraseña para proteger la clave privada. En todos los ejemplos de comandos que se muestran, reemplace los nombres de archivo que se muestran en MAYÚSCULAS con las rutas reales y los nombres de archivo que desea usar.

El siguiente comando OpenSSL generará una clave privada RSA de 2048 bits y una CSR:

openssl req -new -newkey rsa:2048 -nodes -keyout PRIVATEKEY.key -out MYCSR.csr

Desglosemos el comando:

  • openssl es el comando para ejecutar OpenSSL.
  • req es la utilidad OpenSSL para generar una CSR.
  • -newkey rsa:2048 le dice a OpenSSL que genere una nueva clave privada RSA de 2048 bits. Si prefiere una clave de 4096 bits, puede cambiar este número a 4096.
  • -keyout PRIVATEKEY.key especifica dónde guardar el archivo de clave privada.
  • -out MYCSR.csr especifica dónde guardar el archivo CSR.
  • Con estos dos últimos elementos, recuerde usar sus propias rutas y nombres de archivo para la clave privada y el CSR, no los ejemplos descritos aquí.

Después de escribir el comando, presione enter . Se le presentará una serie de indicaciones:

Importante

No recomendamos el uso de claves o pass phrase para certificados SSL, por lo que este campo deberá dejarlo vacío.

  • Ahora se le pedirá que ingrese la información que se incluirá en su CSR. Esta información también se conoce como el nombre distinguido o CN . Se requiere el campo Nombre común al enviar su CSR, pero los demás son opcionales. Si desea omitir un elemento opcional, simplemente escriba enter cuando aparezca:
    • El nombre del país (opcional) toma un código de país de dos letras .
    • El campo Nombre de la localidad (opcional) es para su ciudad o pueblo.
    • El campo Nombre de la organización (opcional) es para el nombre de su empresa u organización.
    • El campo Nombre común (obligatorio) se utiliza para el nombre de dominio completo (FQDN) del sitio web que protegerá este certificado.
    • Dirección de correo electrónico (opcional)
    • El campo Contraseña de desafío es opcional y también se puede omitir.

Al completar este proceso, volverá a un símbolo del sistema. No recibirá ninguna notificación de que su CSR se creó con éxito.