Certificate Signing Request (CSR): qué es y cómo crearlo
Si necesitas crear tu certificado de seguridad para proteger tu web y ofrecer acceso mediante HTTPS un primer paso consiste en generar el Certificate Signing Request (CSR). Si eres nuevo en el mundo de los certificados de seguridad, te explicamos qué es este documento y cómo puedes crearlo en distintos sistemas operativos y herramientas.
- ¿Qué es un Certificate Signing Request (CSR)?
- ¿Qué relación existe entre un CSR, la clave privada y el certificado SSL?
- ¿Para qué sirve un CSR y por qué es importante?
- ¿Cómo crear un CSR en diferentes entornos?
- Errores comunes al generar un CSR y cómo evitarlos
- Tipos de certificados que requieren un CSR
- ¿Cómo verificar un CSR generado?
¿Qué es un Certificate Signing Request (CSR)?
Un Certificate Signing Request es simplemente un archivo de texto donde figura toda una serie de datos que necesitan entregarse a una entidad certificadora (siglas CA) para la obtención de un certificado SSL/TLS.
En este archivo se tiene que generar desde el servidor donde se va a instalar el certificado e incluye toda la información relativa a la organización que va a solicitar el certificado, como el nombre, el dominio o su ubicación. Además en el CSR estará también la cadena de la clave pública que se ha de asociar al certificado a generar.
El propio CSR se encuentra cifrado mediante una llave privada secreta y por tanto confidencial. En el proceso de creación se solicitarán todos los datos necesarios y se obtendrá el CSR, habitualmente en el formato PEM. Para ello podemos usar herramientas de distintos tipos, como explicaremos más tarde.
Una vez generado el CSR se ha de enviar tal cual, respetando su codificación. Si lo abrimos veremos que se parece mucho a una llave de cifrado solo que comienza y termina con unos bloques distintos:
-----BEGIN CERTIFICATE REQUEST-----
-----END CERTIFICATE REQUEST-----
¿Qué relación existe entre un CSR, la clave privada y el certificado SSL?
Si no tenemos mucha experiencia en la obtención de certificados es posible que nos hagamos algún lío entre tantos conceptos nuevos. Para ir despejando esas primeras dudas creemos que lo más importante es tener claro cuál es la relación entre el CSR, la llave privada y el certificado SSL.
Como hemos dicho ya, el CSR es un archivo de texto que sirve para iniciar la solicitud de un certificado digital y se lo tenemos que presentar a la entidad certificadora que se encargue de expedirlo.
Cuando se genera el CSR, con la correspondiente herramienta en el servidor donde se instalará el certificado, se crearán a la vez un par de claves criptográficas que servirán para encriptar las comunicaciones entre el servidor y los clientes.
Una de esas claves criptográficas es la clave pública y otra es la clave privada. La clave pública se incluye en el CSR durante el proceso de creación. Esa clave pública es esencial para la creación del certificado de seguridad.
Sin embargo, en el caso de la clave privada, es un archivo que debe permanecer con nosotros y no darlo a conocer a nadie. Por tanto, es importante que la mantengamos segura, sin permitir que se pueda acceder a ella.
El certificado SSL es lo que nos entregará la entidad certificadora para configurar el servidor de modo que tenga soporte a HTTPS. Por tanto, el proceso de creación del CSR sólo nos entregará las claves y el propio archivo Certificate Signing Request que tendremos que enviar a la agencia certificadoras para que esta nos devuelva el certificado SSL, después de haber confirmado que los datos que hemos proporcionado son válidos y corresponden con quién usará el certificado.
¿Para qué sirve un CSR y por qué es importante?
El CSR es importante porque nos permite obtener un certificado de seguridad. La generación de este archivo es un paso indispensable para que la entidad certificadora realice su función de comprobación de la veracidad de los datos del solicitante del certificado.
Vamos a detallar punto por punto las funciones que cumple el archivo CSR.
Autenticación y validación de identidad del dominio
Lo primordial del archivo CSR consiste en incluir todos los datos que se necesitan para identificar al solicitante del certificado. Esos datos serán verificados por la CA, entidad de creación del certificado, para autenticar que el solicitante es quien dice ser y además está correctamente asociado con la identidad del propietario del dominio.
La información contenida en el CSR permite a la CA confirmar que el solicitante es realmente el propietario o administrador del dominio. Esto evita el uso fraudulento de certificados en sitios web falsos.
Seguridad en la comunicación entre cliente y servidor
Durante el proceso de CSR se genera un par de claves de encriptación, la llave pública y la llave privada, que son fundamentales para el establecimiento de las comunicaciones seguras entre el servidor y los clientes.
Mediante estas claves el servidor puede configurar las conexiones con HTTPS, de modo que se garantice que no puedan ser interceptadas por terceros.
Papel del CSR en el proceso de emisión de un certificado SSL
La finalidad del documento CSR no es otra que conseguir el certificado de seguridad SSL/TLS. Es el documento más importante que tendremos que entregar a la agencia certificadora para que pueda revisar la información y generar el certificado para nuestro servidor.
¿Cómo crear un CSR en diferentes entornos?
Crear un archivo CSR es bastante sencillo, pues solamente tenemos que utilizar la herramienta adecuada, que depende principalmente del entorno en el que estemos trabajando ya sea un servidor Linux, un servidor Windows.
El rango de herramientas posible es bastante variable y muchas veces podemos escoger la que mejor se adapte a nuestras costumbres o necesidades. Podemos crear el archivo CSR mediante utilidades disponibles en el sistema operativo del servidor o incluso valernos de paneles de control para la gestión de dominios.
Cómo crear un CSR desde cPanel
Si tenemos un panel de administración de dominios crear los archivos CSR será muy sencillo. Uno de los paneles más conocidos es cPanel. En resumen el proceso sería el siguiente.
Desde tu panel de administración cPanel tendrás que dirigirte a la sección de «Seguridad» y dentro de esas opciones tienes que localizar la que pone «SSL/TLS». Entrando en el link encontrarás la opción para generar una nueva solicitud de certificado (CSR).

Simplemente tendrás que completar los datos solicitados en el formulario, para luego generar el CSR.

El CSR se almacenará en el servidor y no tendrás ni que descargarlo para obtener un certificado automático. Si lo necesitas enviar a una CA podrás descargarlo desde el servidor, así como la llave pública si fuera necesario. Incluso si indicas un email durante el proceso podrías recibir los archivos en tu correo.
Cómo generar un CSR en un servidor Linux (OpenSSL)
Si tenemos un servidor Linux podemos utilizar el terminal de línea de comandos para generar el archivo CSR, utilizando openSSL.
Básicamente nos metemos dentro del servidor con SSH y luego lanzamos el comando:
openssl req -new -newkey rsa:2048 -nodes -keyout tu_dominio.key -out tu_dominio.csr
Empezará una toma de datos en el shell en el que te irá solicitando toda la información que necesitas para poder completar el CSR.

Una vez terminado el proceso verás que se han generado dos archivos de salida en la misma carpeta donde lanzaste el comando.
- tu_dominio.key contiene tu llave privada, que debes mantener de manera secreta.
- tu_dominio.csr es el archivo que tendrás que enviar a la agencia certificadora.
Cómo generar un CSR en Windows Server (IIS)
Sí nuestro servidor es un Windows server podemos utilizar un programa de interfaz gráfica que genera el archivo CSR. Ese programa lo encuentras en el «Administrador de IIS». En él debes localizar el panel de conexiones, donde tendrás que seleccionar el servidor y hacer clic en «Certificados de servidor».
Luego elige la opción «Crear solicitud de certificado», para lo que tendrás que completar los campos del formulario con los datos de tu organización y guardar el archivo CSR resultante.
Cómo crear un CSR con Plesk
Similar a cPanel, otro panel muy popular para poder administrar servidores es Plesk. Si tienes Plesk podrás crear los archivos CSR y las llaves para el certificado de una manera sencilla.
Para ello entra en la administración del dominio que necesites obtener el CSR. En el dashboard donde tienes todos los enlaces para administrar los recursos haces clic en «SSL/TLS Certificates».

Encontrar el lugar donde generar el CSR es un poco difícil porque desde la sección de Seguridad SSL/TLS primero te muestran una serie de tarjetas para adquirir un certificado en varias CA seleccionadas por ellos mismos, pero más abajo encontrarás otras opciones. En ella busca el botón que pone «Manage».

En la sección «Manage» puedes administrar más cosas sobre certificados y allí encontrarás un enlace al formulario desde donde puedes crear el CSR.
Ese formulario lo abres desde el botón que pone «Add SSL/TLS Certificate».

Entonces te aparecerá el formulario donde debes introducir los datos de la organización y del dominio. Una vez rellenados los datos de la solicitud podrás descargar el archivo CSR generado.

Errores comunes al generar un CSR y cómo evitarlos
Con las herramientas que hemos comentado es bastante sencillo generar un CSR, aunque lógicamente, tendrás que cuidar los datos que indicas, así como mantener intacto el formato del archivo de texto. Cualquier edición manual podría derivar en un problema y hacer que tu solicitud de certificado sea rechazada. Vamos a ver los errores más típicos que se producen en este proceso, para evitar posibles problemas.
Campos incompletos o incorrectos
Para evitar posibles rechazos del CSR por parte de una CA tendrás que completar todos los campos que se requiere en la solicitud y, por supuesto, asegurarte de que sean correctos.
Cuida especialmente el nombre de dominio que piensas usar, pero también los datos de tu organización.
Uso de claves privadas no coincidentes
Una vez que has generado el CSR se crea también la clave privada. Esa clave tienes que usarla junto con el certificado. No debes perder esa clave porque es la única con la que podrás activar el certificado.
Por supuesto, como hemos dicho ya, también debes asegurarte que esa clave privada se mantiene secreta.
Problemas de codificación o formato
Si no tienes cuidado con el formato del archivo puede que el CSR esté inválido. La herramienta te lo genera de manera automática y no es buena idea alterar el contenido. El archivo lo puedes abrir y verás que tiene una cadena muy larga encriptada, pero no debes editarlo poniendo ni siquiera saltos de línea o espacios en blanco porque eso hará que se corrompa.
Tipos de certificados que requieren un CSR
La verdad es que casi todos los certificados SSL necesitan un archivo CSR para poder solicitarlos, aunque sus características pueden cambiar según el nivel de validación que realizan.
DV (Domain Validation)
El primer nivel de certificados es el DV, que solamente validan que el solicitante es el que tiene el control sobre el dominio para el que se emite el certificado. Este tipo de certificados es el que emite gratuitamente Let’s Encrypt.
Puede que hayas solicitado un certificado de Let’s Encrypt con alguna herramienta como Plesk o cualquier otro panel de control y no hayas tenido que manejar el CSR, pero aún así el archivo se generó para poder solicitar el certificado, aunque el panel de control lo haya hecho por ti sin decir nada.
OV (Organization Validation)
A partir de este punto, los certificados requieren validaciones más allá de verificar que tienes el control de un dominio. Por ejemplo, los certificados OV permiten verificar la identidad de la organización solicitante.
Por ello, este tipo de certificado no es automático, pues la agencia de certificación requiere validar la información del CSR, como nombre de la empresa, país, ciudad y otros datos.
EV (Extended Validation)
Luego tenemos los certificados EV ofrecen un nivel todavía más alto de validación de los datos del CSR. Lo que hacen las CA con este tipo de certificado es simplemente realizar comprobaciones más exhaustivas de los datos incluidos, lo que permite asegurar de una manera más fiel la legitimidad de la organización.
Este tipo de certificados es adecuado para empresas que necesitan manejar información sensible, como bancos, aseguradoras o empresas dedicadas a la salud.
¿Cómo verificar un CSR generado?
Si tienes que solicitar un certificado y has generado el CSR mediante una herramienta como las que hemos comentado en principio no tendrías que preocuparte mucho, ya que el proceso debe haber hecho un archivo consistente y bien formateado. Sin embargo, si quieres verificar que todo está bien y que contiene la información correcta, puedes usar alguna herramienta como las que vamos a nombrar ahora.
Comprobación del contenido con OpenSSL
Si estás en un sistema operativo Linux o macOS, o con un terminal que permita trabajar con openssl, puedes lanzar el siguiente comando para verificar el contenido de un CSR.
openssl req -in dominio.csr -noout -text
Herramientas online para validar un CSR
Si no tienes acceso al terminal y quieres verificar el archivo también podrías buscar alguna herramienta online. Si buscas en Google «CSR validator» o «CSR validator tool» podrás encontrar muchas alternativas útiles.
Simplemente verás que consiste en una página donde aparece un formulario donde pegar el contenido de tu CSR para luego enviarlo y verificar cuáles son los datos que contiene.
Qué hacer si el CSR no es válido
Si en el proceso de verificación se indica que tu archivo CSR tiene errores, porque tenga datos de tu empresa incorrectos, o porque pueda estar dañado, entonces lo que te sugerimos es que lo vuelvas a crear desde cero.
Usa las herramientas automáticas para generar el certificado de nuevo . No trates de cambiarlo a mano. Ten en cuenta que la clave privada puede cambiar, por lo que deberías no confundirla con la generada en el CSR dañado