Decodificador de CSR
Pega una solicitud de firma de certificado para leer todo su contenido antes de enviarla a una autoridad de certificación: los campos del sujeto, los nombres alternativos del sujeto (SAN), el algoritmo y el tamaño de la clave, las extensiones solicitadas y la firma. Las comprobaciones integradas señalan problemas que harían que una CA rechazara el pedido.
Última actualización:
Sujeto
Nombres alternativos del sujeto (SAN)
Clave pública
Firma
Comprobaciones de validez
Extensiones y atributos solicitados
Compruébalo tú mismo con OpenSSL
Cómo usar Decodificador de CSR
- Pega la CSR, incluidas las líneas -----BEGIN CERTIFICATE REQUEST----- y -----END CERTIFICATE REQUEST-----, o abre un archivo .csr.
- Lee el resumen: el nombre común, el estado de la firma, el tipo de clave y el número de SAN aparecen arriba.
- Confirma los nombres en Nombres alternativos del sujeto: son los nombres de host que cubrirá el certificado.
- Revisa las comprobaciones de validez. Los elementos en rojo son problemas que una CA rechazará; los naranjas conviene corregirlos.
- Empareja la clave si hace falta: compara el MD5 del módulo o el SHA-256 del SPKI con los comandos de OpenSSL que se muestran para tu clave privada.
Qué hay dentro de una CSR
Una solicitud de firma de certificado PKCS#10 (RFC 2986) es una estructura ASN.1 con tres partes: la información de la solicitud de certificación (versión, nombre del sujeto, clave pública y atributos), el algoritmo de firma y una firma sobre la primera parte hecha con tu clave privada.
| Campo | Ejemplo | Qué hacen las CA con él |
|---|---|---|
| CN (nombre común) | www.example.com | Nombre de host principal; la mayoría de las CA también lo añaden a la lista SAN |
| O / OU | Example Inc. / Web Team | Se valida en certificados OV y EV; se ignora y elimina en certificados DV. Las CA públicas ya no incluyen OU |
| L / ST / C | San Francisco / California / US | Ubicación para OV/EV; C debe ser un código ISO de 2 letras |
| subjectAltName | DNS:example.com, DNS:www.example.com | La lista de nombres para los que es válido el certificado; cada uno se valida por dominio |
| Clave pública | RSA 2048 or ECDSA P-256 | Se copia sin cambios en el certificado |
| Uso de clave / EKU | digitalSignature, serverAuth | Normalmente lo sustituye el perfil propio de la CA |
| Firma | SHA-256 con RSA | Se comprueba para demostrar que tienes la clave privada |
Motivos comunes por los que una CA rechaza una CSR
- Clave o hash débil: claves RSA de menos de 2048 bits, o firmas MD5 y SHA-1.
- Nombres internos: nombres de host como
server.local,intraneto direcciones IP privadas como 10.0.0.5 no se pueden validar públicamente. - Caracteres incorrectos: espacios, guiones bajos o letras acentuadas en los nombres de host, o un país escrito como "USA" en lugar de "US".
- Reutilización de claves: algunas CA rechazan una clave pública que ya se usó en un certificado revocado o comprometido. Ante la duda, genera una clave nueva con cada CSR.
- CSR editada: cambiar cualquier byte rompe la firma. Genera una CSR nueva en lugar de editar una antigua.
Crear e inspeccionar CSR con OpenSSL
openssl req -new -newkey rsa:2048 -nodes -keyout example.key -out example.csr \ -subj "/CN=www.example.com/O=Example Inc./C=US" \ -addext "subjectAltName=DNS:www.example.com,DNS:example.com" openssl req -in example.csr -noout -text -verify
¿Prefieres un formulario? El generador de CSR crea la clave y la solicitud en tu navegador. Cuando la CA te envíe el certificado, ábrelo en el decodificador de certificados SSL para confirmar que los nombres y la clave coinciden.
Preguntas frecuentes
¿Qué es una CSR?
Una solicitud de firma de certificado es un archivo pequeño en formato PKCS#10 que envías a una autoridad de certificación para obtener un certificado SSL/TLS. Contiene tu clave pública, los nombres que debe cubrir el certificado y extensiones opcionales, todo firmado con tu clave privada. La clave privada en sí nunca forma parte de la CSR.
¿Es seguro pegar mi CSR aquí?
Sí. Una CSR solo contiene información pública, y este decodificador funciona por completo en tu navegador, así que no se sube nada. Nunca pegues la clave privada, que empieza con BEGIN PRIVATE KEY; la herramienta se niega a decodificarla y te avisa.
¿Qué significa 'la firma es válida' en una CSR?
Cada CSR está firmada por la clave privada que corresponde a la clave pública que contiene. Una firma válida demuestra que quien la solicita tiene esa clave privada y que la CSR no se ha editado desde que se creó. Las CA comprueban la misma firma antes de emitir.
¿Por qué necesito nombres alternativos del sujeto?
Desde 2017, los principales navegadores ignoran el nombre común y solo confían en los nombres de host incluidos en la extensión SAN. Las CA públicas suelen copiar el CN en el SAN por ti, pero incluir todos los nombres de host que necesitas, como example.com y www.example.com, evita sorpresas.
¿Cómo compruebo que una CSR coincide con mi clave privada?
Para RSA, ejecuta openssl rsa -in private.key -noout -modulus | openssl md5 y compáralo con el MD5 del módulo que se muestra aquí. Para cualquier tipo de clave, compara el valor SHA-256 del SPKI con el hash de la clave pública extraída de tu clave privada; los comandos exactos se muestran debajo de los resultados.
¿Qué tamaño de clave debe usar una CSR?
Las CA públicas exigen claves RSA de al menos 2048 bits; 2048 o 3072 bits son las opciones habituales. Las claves ECDSA P-256 y P-384 son más pequeñas y rápidas y las aceptan todas las CA principales. El decodificador señala las claves RSA de 1024 bits y las firmas SHA-1, que las CA rechazan.
¿Puede decodificar un certificado en lugar de una CSR?
No. Los certificados emitidos empiezan con BEGIN CERTIFICATE y tienen emisor, número de serie y fechas de validez que una CSR no tiene. Usa el decodificador de certificados SSL para ellos; la herramienta te lo indica si pegas uno.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.