L'idea di base è che una politica descriva il processo di certificazione sull'intero percorso, non solo a livello di una determinata CA. All'interno di un determinato certificato C , l'estensione Certificate Policies
fornisce l'insieme di politiche a cui il processo che ha portato alla creazione di C è conforme.
Durante la convalida (vedere la sezione 6.1 di RFC 5280 ), il verificatore calcola la "struttura dei criteri". In casi semplici (vedi sotto per possibili complicazioni), le foglie di valid_policy_tree
alla fine dell'elaborazione saranno l'intersezione degli insiemi di politiche in tutti i certificati nel percorso (i passaggi "sfoltisci l'albero dei criteri" sono ciò che realmente calcola l'intersezione). In parole semplici, l'insieme di criteri che si ottiene alla fine sarà l'insieme di criteri visualizzati in tutti i certificati nel percorso. È abbastanza logico: si può dire che un determinato percorso è conforme alla politica 1.2.3.4.5 solo se tutti i certificati nel percorso sono stati rilasciati in modo compatibile con la politica 1.2.3.4.5, una proprietà che i certificati stessi pubblicizzano contenendo la politica 1.2.3.4.5 nella loro estensione Certificate Policies
.
Non è richiesto che ogni certificato utilizzi solo un sottoinsieme dei certificati dalla CA superiore. Ciò sarebbe mal definito, poiché i percorsi potrebbero unirsi (una determinata CA potrebbe ottenere diversi certificati da diversi über-CA e potrebbero contenere politiche distinte). Il lavoro di intersezione viene eseguito alla convalida, quando viene considerato un singolo percorso. Concettualmente, non esiste un percorso fino alla convalida.
Possibili complicazioni:
- Ci possono essere certificati senza l'estensione
Certificate Policies
.
- Possono esistere associazioni di criteri che consentono di sostituire alcune politiche con altre lungo il percorso.
- Esiste una politica speciale chiamata
anyPolicy
che modifica l'elaborazione.
- Sono presenti estensioni che possono inibire
anyPolicy
e / o richiedono una politica esplicita, a partire da una profondità di percorso specificata.
Ho incontrato un gran numero di CA che sbagliano riguardo alle politiche; cioè, includono in ogni certificato un'estensione (non critica) Certificate Policies
in cui mettono un criterio univoco che è specifico per quella CA. Il risultato finale è che, al momento della convalida, valid_policy_tree
è vuoto (questo non è fatale, poiché questi certificati non includono alcuna estensione che richiede una politica esplicita). Questo sta usando l'estensione come una sorta di commento glorificato.