Ci sono due semantica distinta che il campo nextUpdate
è usato per trasmettere:
- la data in cui dovrebbe essere disponibile un CRL più recente, vale a dire un nuovo download (analogamente, prima della data indicata nel campo
nextUpdate
, un CRL memorizzato nella cache dovrebbe essere considerato il più recente);
- la data dopo la quale un determinato CRL deve essere considerato obsoleto.
Si prevede che il CRL si sovrapponga, in modo tale che le transizioni siano fluide e il traffico di rete diffuso durante il giorno. In genere, una CA produrrebbe un nuovo CRL ogni ora (in modo che siano disponibili nuove informazioni) ma "consentirebbe" un determinato CRL di essere valido per un giorno (24 ore). Poiché un CRL può essere piuttosto grande, scaricarlo è costoso, quindi le implementazioni preferirebbero non farlo troppo spesso se non ha un uso pratico. Ma poiché ogni CA ha una propria politica, un validatore di certificati generici non può sapere a priori quale tipo di programma utilizza una determinata CA; deve apprenderlo attraverso i dati nei certificati e nel CRL.
Il primo significato è ciò che X.509 richiede. Tuttavia, tutti lo usano con il secondo significato. In effetti, le implementazioni di X.509 (ad esempio nei browser Web, quando convalidano il certificato di un server Web) gestiscono nextUpdate
come se fosse una data endOfValidity
. Ultimamente, Microsoft ha definito una nuova estensione chiamata nextPublish che assume il primo significato (l'estensione può essere vista nell'allegato A.1 di questa bozza , in un contesto OCSP). Questa estensione (che sembra essere, finora, privata di Microsoft, non standard) in qualche modo riconosce che la pratica comune si discosta dalla teoria per quanto riguarda il significato di nextUpdate
.