Decodificador de CSR (Solicitud de Firma de Certificado)
Pega una CSR (Solicitud de Firma de Certificado) en formato PEM para revisar antes de enviarla a la CA el CN, el SAN, el nombre de la organización y el algoritmo de clave pública que vas a solicitar. Herramienta gratuita que te ayuda a detectar errores de escritura antes de que sea demasiado tarde.
Qué es el Decodificador de CSR
El Decodificador de CSR es una herramienta gratuita que, al pegar una CSR (Certificate Signing Request, Solicitud de Firma de Certificado) en formato PEM, muestra de un vistazo el Sujeto que vas a solicitar (CN, nombre de la organización, etc.), el SAN (Subject Alternative Name), el algoritmo de clave pública y el algoritmo de firma. Así puedes confirmar en el momento, antes de enviar la solicitud a una CA (autoridad certificadora), que el contenido introducido es exactamente el que querías.
A diferencia de la herramienta hermana "Decodificador de Certificados SSL (X.509)", que analiza certificados ya emitidos, esta herramienta trabaja con la propia CSR, en la etapa previa a la revisión y emisión por parte de la CA. Resulta especialmente útil como comprobación final cuando el certificado todavía no se ha emitido, o justo antes de volver a generar una clave privada, momentos en los que un error pasa fácilmente desapercibido hasta que ya es tarde para corregirlo sin coste.
Cómo usar el Decodificador de CSR
- Pega tu CSR en formato PEM Pega directamente en el cuadro de texto el contenido que empieza con "-----BEGIN CERTIFICATE REQUEST-----".
- También admite varias CSR a la vez Si pegas varias CSR seguidas, cada bloque se detecta automáticamente por separado.
- Haz clic en "Analizar" Comprueba el número de CSR detectadas y luego pulsa el botón para analizarlas en el servidor.
- Revisa los resultados Se muestran en pantalla el Sujeto, el SAN, el algoritmo de clave pública y demás campos de cada CSR.
Consejos para aprovecharla mejor
- Antes de enviar la CSR, comprueba siempre que tanto el CN (nombre común) como el SAN incluyen absolutamente todos los nombres de host que quieres que cubra el certificado. Olvidar una entrada en el SAN suele obligar a repetir todo el proceso de emisión.
- Aprovecha este momento para verificar que el algoritmo de clave pública no sea RSA de menos de 2048 bits ni una curva EC en desuso, ya que eso puede provocar que la CA rechace la solicitud durante su revisión.
- Antes de reutilizar la misma CSR en varios servidores, confirma de nuevo que el nombre de la organización y los dominios del Sujeto y del SAN coinciden realmente con lo que vas a solicitar en cada caso.
- Ten en cuenta que esta herramienta solo muestra lo que se solicita en la CSR: qué SAN acaba emitiendo realmente la CA puede variar según el resultado de su propia revisión.
Cuándo usar esta herramienta
Comprobación final antes de enviarla a la CA
Antes de comprar un certificado SSL de pago, verifica que el CN y el SAN introducidos al generar la CSR son correctos.
Validar el procedimiento de generación de CSR interno
Permite comprobar visualmente, incluso a quien no está familiarizado con la línea de comandos, si una CSR generada con openssl req u otra herramienta contiene realmente lo esperado.
Revisar el contenido de una CSR emitida hace tiempo
Vuelve a comprobar de forma segura, sin manipular ninguna clave privada, el contenido de una CSR que conservas guardada como archivo.
Detectar omisiones de SAN en certificados multidominio
Antes de solicitar un certificado que cubra varios nombres de host a la vez, identifica si falta alguno en el SAN.
Glosario
- CSR (Solicitud de Firma de Certificado)
- Siglas de Certificate Signing Request. Es el conjunto de datos que se entrega a una CA para solicitar la emisión de un certificado, y que reúne la clave pública junto con la información de la solicitud (Sujeto, SAN, etc.).
- CA (autoridad certificadora)
- Siglas de Certificate Authority. Es la entidad externa que revisa el contenido de la CSR y emite el certificado SSL/TLS real.
- CN (nombre común)
- Uno de los campos del Sujeto que identifica el nombre de host o servicio principal del certificado. Antiguamente los navegadores solo comprobaban el CN, pero hoy en día se da prioridad al SAN.
- SAN (Nombre Alternativo del Sujeto)
- Campo de extensión que enumera nombres de host o direcciones IP adicionales para los que el certificado será válido. En la fase de CSR se registra dentro de las llamadas "Requested Extensions" (extensiones solicitadas).
- Requested Extensions (extensiones solicitadas)
- Atributo mediante el cual quien solicita la CSR pide que se incluyan determinadas extensiones en el momento de la emisión. El SAN se incluye aquí, aunque la CA no siempre lo traslada al certificado tal cual.
- Algoritmo de clave pública
- Método con el que se generó la clave pública incluida en la CSR. Los más habituales son RSA y EC (criptografía de curva elíptica), y la solidez depende de la longitud de la clave o de la curva elegida.
Preguntas frecuentes
A propósito — Por qué una CSR incluye su propia "firma"
Si observas con atención el contenido de una CSR, verás que, después del Sujeto y de la información de la clave pública, se guardan también un algoritmo de firma y un valor de firma. A primera vista puede parecer extraño: ¿por qué un documento que le pide a una CA "certifícame, por favor" incluye una firma del propio solicitante? La respuesta está en un concepto llamado "Proof of Possession" (prueba de posesión de la clave privada). Al firmar toda la CSR (el Sujeto, la clave pública, etc.) con la clave privada que forma pareja con la clave pública indicada en la propia solicitud, el solicitante demuestra ante la CA que realmente posee la clave privada correspondiente a esa clave pública. Si alguien intentara crear una CSR incluyendo la clave pública de otra persona sin tener su clave privada, no podría generar una firma válida, de modo que este mecanismo impide las solicitudes fraudulentas por suplantación.
El mecanismo de la CSR se definió en 1986 como PKCS#10, dentro de la familia de estándares de criptografía de clave pública PKCS (Public-Key Cryptography Standards) desarrollada por RSA. Hoy en día la IETF lo ha redefinido como RFC 2986, pero en la práctica el nombre PKCS#10 sigue siendo ampliamente utilizado. Dentro del mundo de los certificados TLS pasa bastante desapercibido, pero es la pieza que da inicio a todo el flujo de emisión de certificados: sin CSR no hay certificado que emitir.
La incorporación del SAN dentro de las Requested Extensions de la CSR no es, en realidad, una práctica tan antigua como cabría pensar. El estándar original de la CSR (PKCS#10) solo contemplaba de forma explícita el Sujeto y el CN, y a medida que se popularizaron los certificados multidominio y los certificados comodín, cada CA fue adoptando por su cuenta distintas formas de aceptar el SAN. Actualmente, herramientas de referencia como openssl admiten de forma estándar un mecanismo llamado Extension Request, definido en la RFC 2985, para incluir el SAN dentro de la CSR, y esta herramienta lee precisamente el SAN desde esa ubicación estándar (el atributo extensionRequest dentro de los Attributes).