Este artículo explica cómo generar un archivo CSR (Certificate Signing Request) con OpenSSL para solicitar un certificado SSL en un servidor dedicado Linux con Apache.
Servidores con cPanel/WHM: También podés generar el CSR desde WHM → SSL/TLS → Generate an SSL Certificate and Signing Request, sin usar la línea de comandos. Este artículo describe el método manual con OpenSSL.
Requisitos previos
- Acceso SSH con usuario
rootal servidor dedicado. - OpenSSL instalado (en la mayoría de los servidores Linux ya viene incluido).
- El dominio exacto para el que vas a solicitar el certificado (Common Name).
Paso 1 — Verificar OpenSSL
Si OpenSSL no está instalado, instalalo según tu distribución. En servidores cPanel suele estar en /usr/bin/openssl.
openssl version
Paso 2 — Generar la clave privada RSA
Entrá al directorio donde guardás las claves SSL. En Apache la ruta habitual es:
cd /APACHESERVERROOT/conf/ssl.key/
Si tu servidor usa otra ruta, adaptala (consultá la configuración de Apache o el manual de tu servicio).
Clave privada con contraseña (más segura en reposo):
openssl genrsa -des3 -out NombreDeDominio.key 2048
Clave privada sin cifrado (Apache no pedirá passphrase al reiniciar):
openssl genrsa -out NombreDeDominio.key 2048
Recomendación: Usá claves de 2048 bits como mínimo. Las claves de 1024 bits ya no son aceptadas por la mayoría de las autoridades certificadoras.
Paso 3 — Generar el CSR
Ejecutá este comando usando la clave privada del paso anterior:
openssl req -new -key NombreDeDominio.key -out NombreDeDominio.csr
El archivo .csr es el que enviás a la autoridad certificadora (CA) para emitir el certificado.
Datos que te pedirá OpenSSL
Completá los campos según estos criterios. No uses caracteres especiales no permitidos: < > ~ ! @ # $ % ^ / \ ( ) ? . , &
| Campo | Qué ingresar |
|---|---|
| Common Name (CN) | Dominio completo del sitio (p. ej. www.midominio.com). Debe coincidir exactamente con el certificado que vas a contratar. |
| Organization | Nombre legal de la empresa, sin abreviar. |
| Organizational Unit | Departamento o área (opcional). |
| City / Locality | Ciudad donde está ubicada la organización. |
| State / Province | Provincia o estado. |
| Country | Código ISO de 2 letras (p. ej. AR para Argentina). |
En los atributos adicionales (challenge password, optional company name), dejalos vacíos y presioná Enter.
Paso 4 — Verificar el CSR
openssl req -noout -text -in NombreDeDominio.csr
Revisá que el Common Name sea el dominio correcto antes de enviar el CSR a la CA.
Paso 5 — Resguardar la clave privada
Hacé una copia de seguridad del archivo .key generado en el paso 2 y guardalo en un lugar seguro.
Crítico: Si perdés la clave privada, no podrás instalar el certificado emitido y deberás generar un CSR nuevo y volver a comprar o reemitir el certificado.
Para ver el contenido de la clave privada:
openssl rsa -noout -text -in NombreDeDominio.key
El archivo comienza con -----BEGIN RSA PRIVATE KEY----- y termina con -----END RSA PRIVATE KEY-----.
Instalar el certificado en Apache
Cuando la CA te entregue el certificado (.crt) y, si aplica, la cadena intermedia (ca-bundle):
- Copiá el certificado y la cadena en el directorio SSL de Apache (p. ej.
/APACHESERVERROOT/conf/ssl.crt/). - Reemplazá o ubicá la clave privada (
.key) en/APACHESERVERROOT/conf/ssl.key/, usando la misma clave con la que generaste el CSR. - Verificá que la configuración del virtual host de Apache apunte a los archivos correctos (
SSLCertificateFile,SSLCertificateKeyFile,SSLCertificateChainFile). - Reiniciá Apache para aplicar los cambios:
service httpd restart
En servidores con cPanel, también podés usar WHM → Restart Services → HTTP Server (Apache).
Nota: No reemplaces la clave privada por el certificado. Son archivos distintos: la CA te devuelve el .crt; la clave .key es la que generaste vos y debe conservarse.
Problemas frecuentes
- La CA rechaza el CSR: revisá Common Name, tamaño de clave (2048+) y caracteres no permitidos en los datos.
- Certificado instalado pero el sitio no carga por HTTPS: verificá que Apache apunte al
.crty al.keycorrectos y que reiniciaste el servicio. - Error "key does not match": el certificado no corresponde a la clave privada usada al generar el CSR; reinstalá el par correcto.
- Ruta distinta en tu servidor: en cPanel las rutas pueden diferir; usá WHM → SSL/TLS → Install an SSL Certificate on a Domain si preferís interfaz gráfica.
Si necesitás ayuda para generar el CSR, instalar el certificado o verificar la configuración SSL en tu servidor dedicado, abrí un caso desde el portal de clientes o consultá por el chat online del sitio.
