¡Buen día a todos!
Primero lo primero… ¿Qué es un CSR?, de las siglas en ingles Certificate Signing Request (Solicitud de firma de certificado) es como un código que se genera en el servidor que se desea proteger con un certificado digital (SSL), el cual contiene información acerca de la empresa y del dominio a certificar.
Si deseas proteger tu sitio web con el protocolo HTTPS (mediante certificado digital SSL), se debe de crear ésta solicitud (CSR) y enviarla a la entidad a la cual le compraremos el certificado digital; Dicha entidad se encarga de generar la llave pública correspondiente a la llave privada que el servidor crea de forma simultánea al CSR.
En IIS es bastante fácil la generación del CSR porque todo es gráfico, pero en un servidor Linux tal vez se puede sentir un poco complicado porque lo hacemos generalmente por línea de comando, pero al final se trata de una sola línea de comando 🙂
A continuación, la forma de cómo hacerlo en un Ubuntu Server.
Generando un CSR usando OpenSSL en Apache/Mod_SSL
En un solo procedimiento, crearemos el par de llaves (privida y la pública) y el CSR para nuestro servidor web. Desde el servidor web hacemos:
openssl req -nodes -newkey rsa:2048 -keyout miservidor.key -out miservidor.csr
Entonces se solicitará una información específica de la organización o empresa; para el ejemplo, mostraré en negrilla la información correspondiente a mi sitio web (cuando tenga más recursos lo instalaré de verdad xD ):
Country Name (2 letter code) [AU]: SV State or Province Name (full name) [Some-State]: San Salvador Locality Name (eg, city) []: San Salvador Organization Name (eg, company) [Internet Widgits Pty Ltd]: IngDiaz Organizational Unit Name (eg, section) []: TI Common Name (eg, YOUR name) []: www.ingdiaz.org Email Address []: skrdzd1984@gmail.com A challenge password []: An optional company name []:
Es necesario que se rellene correctamente y sin errores dicha información, más que todo en el parámetro Common Name, dado que debe ser exactamente el dominio específico (FQDN) que queremos proteger con https. Referente a la clave que se solicita, yo recomiendo dejarlo vacío…
Éste proceso creará 2 archivos:
- Archivo con la llave privada llamado miservidor.key (¡éste archivo no se debe de compartir con nadie! debemos de ser muy celosos con él… mantenerlo en el servidor y tener un respaldo del mismo en un lugar seguro)
- Archivo CSR llamado miservidor.csr el cual se deberá enviar por correo o subir a la plataforma que les ofrezca el proveedor (aplicación web) para dicho fin.
Y con esto bastaría por ahora… Se hace dicha gestión con el proveedor (por ejemplo CertSuperior / Symantec, COMODO SSL, GoDaddy SSL o el que quiereas…), muy posiblemente te pregunte cosas específicas ya sea por correo o por teléfono (dependiendo del grado de seguridad que se esta adquiriendo en el certificado) y finalmente, si todo esta bien (pagas lo que correspnde 😀 ), te enviarán el certificado (archivo de texto o el código en sí) ya sea por correo electrónicio o mediante su plataforma web lo podrás descargar.
Bien, eso es todo. En futura entrada, veremos cómo instalar el certificado digital en nuestro servidor web 🙂
¡Saludos!