Hay dos semánticas distintas que el campo nextUpdate
se usa para transmitir:
- la fecha en la que debería estar disponible una CRL más nueva, lo que hace que valga la pena una nueva descarga (de manera similar, antes de la fecha dada en el campo
nextUpdate
, una CRL almacenada en caché debe considerarse como la más nueva);
- la fecha después de la cual una CRL dada debe considerarse obsoleta.
Se espera que las CRL se superpongan, de modo que las transiciones sean suaves y el tráfico de red se distribuya a lo largo del día. Por lo general, una CA produciría un CRL nuevo cada hora (de modo que haya disponible información nueva) pero "permitiría" que un CRL determinado sea válido por un día (24 horas). Dado que una CRL puede ser algo grande, descargarla es costosa, por lo tanto, las implementaciones preferirían no hacerlo con demasiada frecuencia si no tiene un uso práctico. Pero como cada CA tiene su propia política, un validador de certificado genérico no puede saber a priori qué tipo de programación usa una CA determinada; debe aprenderlo a través de los datos en los certificados y CRL.
El primer significado es lo que X.509 . Sin embargo, todo el mundo lo usa con el segundo significado. En efecto, las implementaciones de X.509 (por ejemplo, en los navegadores web, cuando validan el certificado de un servidor web) manejan nextUpdate
como si fuera una fecha endOfValidity
. Últimamente, Microsoft ha definido una nueva extensión llamada nextPublish que asume el primer significado (la extensión se puede ver en el anexo A.1 de este borrador , en un contexto de OCSP). Esta extensión (que parece ser, hasta ahora, privada a Microsoft, no estándar) de alguna manera reconoce que la práctica común se desvía de la teoría con respecto al significado de nextUpdate
.