Saltar al contenido
AZ Tools

Decodificador de CRL (X.509)

Decodifica una lista de revocación X.509 — en DER o en PEM — y muestra lo que vería un cliente. El resumen da la versión, el algoritmo de firma, el número de CRL, la ventana entre thisUpdate y nextUpdate y si la lista sigue vigente, además de si es una lista completa o una delta que solo trae los cambios desde una CRL base. Debajo aparecen el nombre del emisor, el identificador de clave de la autoridad que ata la lista a una clave concreta de la CA, y el punto de distribución emisor, que dice de qué certificados puede hablar esta lista. Cada revocación se lista con su número de serie, la fecha en que se revocó, el motivo si la CA lo registró, y la fecha de invalidez, que es el campo distinto y más interesante: revocationDate es cuándo actuó la CA, invalidityDate es cuándo se cree que la clave quedó comprometida, y el hueco entre ambas es la ventana en la que no hay que fiarse de las firmas. Pega el certificado de la CA emisora y la firma de la lista se verifica contra su clave pública con WebCrypto — se admiten RSA y ECDSA — de modo que puedes distinguir una lista genuina de una editada o servida por la autoridad equivocada; ofrecer un certificado cuya clave no podría haberla firmado se informa como discrepancia y no como comprobación no concluyente. Dos precauciones. Que una serie aparezca aquí solo significa algo si esta es la lista que corresponde a ese certificado, y eso lo dicen el emisor y el punto de distribución. Y una CRL muy grande — algunas tienen cientos de miles de entradas — se cuenta entera pero solo se dibujan las primeras quinientas filas, porque pintar el resto congelaría la pestaña sin decirte nada más.

Cómo usar

  1. Suelta el archivo .crl sobre el recuadro, o pega una lista PEM. Un .crl es DER en bruto y no se abre en un editor de texto.
  2. Comprueba primero la ventana: una lista pasada su nextUpdate está obsoleta, y la mayoría de clientes la rechazan en lugar de fiarse de todo.
  3. Lee el número de CRL y el alcance. Una CRL delta solo lista lo que cambió desde la base que nombra, así que por sí sola no es el cuadro completo.
  4. Busca tu número de serie en la tabla y lee el motivo: certificateHold es una suspensión que puede levantarse, los demás son permanentes.
  5. Pega el certificado de la CA emisora para verificar la firma cuando la lista venga de algún sitio que no controles del todo.

Preguntas frecuentes

¿Qué diferencia hay entre la fecha de revocación y la de invalidez?
La fecha de revocación es cuándo la CA publicó el hecho; la de invalidez, una extensión opcional de la entrada, es cuándo se cree que el certificado dejó realmente de ser fiable, normalmente cuando se comprometió una clave. Pueden estar muy separadas, porque un compromiso se descubre a menudo días después de ocurrir. Importa al juzgar una firma antigua: una hecha antes de la fecha de invalidez todavía puede aceptarse, mientras que una posterior no, aunque ambas sean anteriores a la revocación en sí.
La lista dice certificateHold. ¿Está revocado el certificado o no?
Está suspendido, no revocado. certificateHold es el único motivo que puede deshacerse: una CRL posterior puede llevar la misma serie con el motivo removeFromCRL, lo que levanta la suspensión y devuelve el certificado al servicio. Por eso un cliente no puede cachear una suspensión como permanente igual que hace con keyCompromise. En la práctica casi ninguna CA pública lo usa, así que verlo suele indicar una PKI privada o corporativa.
¿Qué es una CRL delta y puedo usarla sola?
No: una delta lista solo los cambios desde una CRL base concreta, nombrada en su extensión Delta CRL Indicator, y está pensada para aplicarse sobre esa base. Existe porque la lista completa de una CA grande puede ser enorme y volver a descargarla cada hora es un derroche cuando solo cambian unos pocos certificados. Si esta herramienta muestra una delta, las entradas que ves son los cambios recientes y no el conjunto completo de series revocadas.
¿Que falte una serie significa que el certificado está bien?
Solo si esta es la lista correcta, está vigente y el certificado lo emitió esta CA. Una CRL habla de un alcance definido: el nombre del emisor y, cuando está, el punto de distribución emisor limitan qué certificados cubre. Que una serie no aparezca en la lista de una CA sin relación no dice nada. También tiene que estar fresca: una lista caducada puede ser sencillamente anterior a la revocación que buscas, que es justo por lo que los clientes rechazan las obsoletas en vez de leerlas igualmente.
¿Cómo se comprueba la firma y qué significa un fallo?
La parte firmada de la lista se verifica contra la clave pública del certificado que pegues, usando el WebCrypto del navegador con el algoritmo que la lista declara: RSA PKCS#1 v1.5 o ECDSA. Que pase significa que esa clave de CA firmó de verdad estos bytes y que nada se ha alterado. Un fallo significa o que la lista se modificó o que el certificado que diste no es el emisor; si su clave es de un tipo que no pudo producir esta firma, se informa como discrepancia y no como algoritmo no admitido.
¿Se sube el archivo a algún sitio?
No. Tanto la lista como cualquier certificado que pegues se leen y analizan en la propia página, y la comprobación de firma corre sobre el WebCrypto del navegador. No se envía nada a un servidor y no hay componente de servidor al que enviarlo. Una lista de revocación es información pública, pero la de una PKI privada puede no serlo, y por eso todo esto funciona en el cliente.

Herramientas relacionadas