Comprobar que un certificado digital no está revocado: lo que tu sistema tiene que descargar y lo que hoy no está donde debería
Verificar una firma digital son cuatro comprobaciones. Que el resumen criptográfico cuadre con el contenido. Que el certificado estuviera vigente cuando se firmó. Que cuelgue de una entidad acreditada. Y que no estuviera revocado.
Las tres primeras se resuelven con lo que ya tienes en la mano: el documento, el certificado y la lista de confianza. La cuarta obliga a salir a Internet, depende de un servidor que no es tuyo y da una respuesta que caduca. Es la que casi nadie implementa entera, y es la que separa un verificador de verdad de uno que solo comprueba integridad.
Este artículo es el desarrollo de ese punto cuarto, que PAdES, XAdES y las decisiones que no se pueden deshacer despachaba en una línea. Dónde encaja dentro de una integración completa lo ordena el pilar de este bloque, integrar firma digital en tu sistema.
Por qué existe el problema
Un certificado digital dice quién eres y hasta cuándo. No dice si sigues queriendo que diga eso. Entre la fecha de emisión y la de caducidad puede pasar cualquier cosa: que pierdas el token, que dejes el cargo, que la empresa cambie de representante, que alguien te copie la clave privada. Para esos casos existe la cancelación del certificado, con los supuestos y los efectos que desarrolla cancelar un certificado digital.
Cancelado el certificado, hace falta que el resto del mundo se entere. Ahí entra la parte técnica.
Lo que el reglamento obliga a llevar dentro del certificado
El artículo 16 del Reglamento de la Ley de Firmas y Certificados Digitales, en el texto que le dio la Segunda Disposición Complementaria Modificatoria del D.S. 029-2021-PCM, publicado en El Peruano el 19 de febrero de 2021, enumera el contenido mínimo de los certificados de la Infraestructura Oficial de Firma Electrónica. Y lo hace en tres listas, una por tipo de titular.
Los tres llevan el mismo campo, escrito igual:
Dirección electrónica de los servicios donde consultar el estado de validez del certificado
Es decir: el propio certificado tiene que traer dentro la dirección donde se pregunta si sigue valiendo. No es un extra del emisor. Es contenido mínimo obligatorio, y lo es desde 2021 para personas naturales, para personas jurídicas suscriptor y para personas jurídicas titular. Si ese campo falta, el certificado no cumple el artículo 16.
El reglamento dice que la dirección tiene que estar. No dice qué protocolo hay detrás. Y ahí empiezan las diferencias.
Las dos formas de preguntar, y en qué se diferencian
La lista de revocación, o CRL. Un fichero firmado por la entidad de certificación con los números de serie de todo lo que ha revocado. Tu sistema lo descarga entero, lo guarda y busca dentro. Tiene dos fechas propias: lastUpdate, cuándo se generó, y nextUpdate, hasta cuándo la entidad se compromete a que sea la buena. Es barato de servir y de cachear, y tiene un retraso estructural: si revocan un certificado justo después de publicarse la lista, tu copia dirá que está bien hasta la siguiente.
El respondedor OCSP. Una consulta puntual por un certificado concreto, respuesta firmada, sin descargar nada más. Llega más fresco y cuesta más de operar, porque hay que tener el servicio arriba.
En el certificado, la CRL aparece en la extensión CRL Distribution Points y el OCSP en Authority Information Access. Los dos se leen con una orden:
openssl x509 -in micertificado.cer -noout -ext crlDistributionPoints,authorityInfoAccess
Si esa orden no devuelve nada, tu certificado no trae dirección de consulta, y entonces la conversación deja de ser técnica y pasa a ser con quien te lo vendió.
Qué publica de verdad el mercado peruano
Esto se puede medir, porque INDECOPI publica la lista de confianza del Perú con los certificados de todas las entidades acreditadas. Descargamos https://iofe.indecopi.gob.pe/TSL/tsl-pe.xml el 15 de septiembre de 2026 y leímos las extensiones de cada certificado que contiene.
Salen 73 certificados distintos. De ellos, 57 siguen dentro de su periodo de validez a día de hoy y 16 ya caducaron, lo cual es normal en una lista que documenta también el pasado.
Lo que interesa es qué dirección de consulta declaran:
| Qué declara el certificado | Cuántos |
|---|---|
| Respondedor OCSP | 18 |
| Lista de revocación (CRL) | 45 |
| Ninguna de las dos | 28 |
Los 28 sin dirección son casi todos raíces, y en una raíz tiene sentido: una raíz no se comprueba contra nada, se confía en ella o no. El dato que cambia el diseño de un verificador es el otro: solo 18 de 73 ofrecen OCSP. Un sistema que asuma OCSP como el camino normal se queda sin respuesta en la mayoría de los casos y tiene que saber caer a CRL.
Entre las entidades que declaran únicamente CRL está RENIEC, que es la que emite los certificados del DNI electrónico y por tanto la que más suscriptores tiene del país. Si tu producto valida firmas hechas con DNIe, la ruta CRL no es un plan B: es el plan.
Lo que encontramos al descargar esas listas
Las direcciones que aparecen en los certificados de la lista de confianza apuntan a listas de autoridad, que son las que cubren a las propias entidades de certificación, no al certificado de un suscriptor. Con esa salvedad por delante, descargarlas cuenta algo sobre cómo se opera este servicio en el Perú.
Cinco de ellas, medidas el 15 de septiembre de 2026:
| Lista | Generada | Vigente hasta | Entradas |
|---|---|---|---|
| RENIEC (ECERNEP) | 1 jun 2026 | 1 jun 2027 | 0 |
| Camerfirma Perú | 6 mar 2026 | 6 mar 2027 | 0 |
| BMCERT raíz | 2 jul 2026 | 2 jul 2027 | 1 |
| FirmEasy raíz | 2 may 2026 | 29 oct 2026 | 1 |
| Acepta Perú raíz | 9 dic 2025 | 10 jun 2026 | 0 |
La última fila es la que conviene mirar dos veces. Esa lista dejó de ser válida según su propio campo nextUpdate hace tres meses, y el servidor la sigue entregando hoy con un HTTP 200. Un verificador que respete la fecha que la propia entidad firmó tiene que rechazarla; uno que no la mire se queda tan tranquilo con un fichero de diciembre.
En el otro extremo está la lista de la propia INDECOPI, que cubre su servicio de lista de confianza: se generó el 15 de septiembre de 2026 a las 19:58 UTC y vence al día siguiente. Veinticuatro horas de ventana frente a los doce meses de las otras. Las dos cosas son legales y las dos salen de la misma lista oficial, así que un verificador tiene que aguantar los dos extremos sin romperse.
Las tres decisiones que hay que tomar antes de escribir código
Qué haces cuando el servidor no responde. Es la decisión importante y ninguna norma peruana la resuelve por ti. Si tu sistema da la firma por buena cuando no puede comprobar la revocación, un atacante que te tire el acceso al servidor consigue que aceptes un certificado revocado. Si la rechazas, una caída de la entidad de certificación te para la operación. Nuestra recomendación para documentos con efectos jurídicos es rechazar y decirlo con claridad en el mensaje: «no se pudo comprobar el estado del certificado» no es lo mismo que «la firma es inválida», y el usuario merece saber cuál de las dos le ha pasado.
Cuánto cacheas. La respuesta obvia es hasta nextUpdate, y con listas de doce meses eso es demasiado. Conviene poner un tope propio —de horas, no de meses— y refrescar contra la fuente aunque la lista siga diciendo que vale.
Contra qué momento compruebas. Aquí está el error conceptual más caro. Lo que importa no es si el certificado está revocado hoy, es si lo estaba cuando se firmó. Una lista de revocación indica desde cuándo, así que la comparación se puede hacer, pero solo si sabes con certeza la fecha de la firma. Y esa fecha no la da el reloj del firmante: la da un sello de tiempo, por el motivo que explica una firma sin fecha cierta vale menos de lo que parece.
Quién ya hace esta comprobación por ti
Dos casos que conviene tener presentes.
SUNAT la hace en cada envío de comprobante. El manual del programador del SEE - Del contribuyente, en su apartado 3.1, dice que el certificado «debe encontrarse vigente y no revocado, ya que el receptor de SUNAT valida estos dos requisitos». Un certificado cancelado deja de servir para facturar el mismo día, sin aviso previo y sin que el rechazo mencione la palabra revocación. El resto de credenciales que hacen falta para ese envío están en para mandarle comprobantes a SUNAT no te autenticas con el certificado digital.
El validador del Estado también la hace, y qué comprueba exactamente está medido en qué comprueba de verdad el validador del Estado.
Si lo tuyo es firmar y verificar contra esos dos, no necesitas implementar nada: necesitas saber que ellos sí lo comprueban y que por eso un certificado cancelado deja de funcionar antes de su fecha de caducidad.
Lo que no medimos
No medimos las listas que cubren certificados de suscriptor. Sus direcciones viven dentro de cada certificado emitido, no en la lista de confianza, así que para compararlas habría que tener un certificado de cada entidad. Lo que sí vale de lo anterior es el método: la dirección está dentro de tu certificado y se lee con una orden.
Tampoco medimos los tiempos de respuesta de los respondedores OCSP ni su disponibilidad a lo largo del día. Un dato de una sola descarga no dice nada sobre eso, y publicarlo como si lo dijera sería el error que le señalamos a la competencia.
Qué hacer esta semana
Abre tu certificado con la orden de arriba. Apunta las direcciones que salgan. Descarga la lista y mira su nextUpdate. Si está vencida, tienes una conversación pendiente con tu entidad de certificación, y tienes el derecho a tenerla: las seis cosas que el reglamento la obliga a decirte antes de cobrarte incluyen cómo se consulta el estado de tus certificados.
Si estás eligiendo entidad y tu sistema va a verificar firmas de terceros, pregunta por el OCSP antes de firmar el contrato. Solo lo tienen 18 de los 73 certificados de la lista oficial, y descubrirlo después obliga a reescribir la parte del verificador que ya dabas por hecha.
Última revisión: 15 de septiembre de 2026. Mediciones hechas ese día sobre https://iofe.indecopi.gob.pe/TSL/tsl-pe.xml y sobre las direcciones de consulta declaradas en sus certificados.