Conformità alla normativa RFC
Certificate Authority Service utilizza lo strumento ZLint per garantire che i certificati X.509 siano validi in base alle regole RFC 5280. Tuttavia, CA Service non applica tutti i requisiti RFC 5280 e una CA creata utilizzando CA Service può emettere un certificato non conforme.
CA Service applica i seguenti requisiti RFC 5280.
Sezione RFC 5280 | Clausola Lint |
---|---|
4.1.1.2 | Il signatureAlgorithm in Certificate DEVE contenere lo stesso algoritmo di identificatore del campo di firma nella sequenza tbsCertificate (Sezione 4.1.2.3). |
4.1.2.1 | Quando vengono utilizzate le estensioni, come previsto in questo profilo, la versione DEVE essere 3 (il valore è 2). |
4.1.2.2 | Il numero di serie DEVE essere un numero intero positivo assegnato dalla CA a ogni certificato. |
4.1.2.2 | Le CA conformi NON DEVONO utilizzare valori serialNumber più lunghi di 20 ottetti. |
4.1.2.4 | Il campo dell'emittente DEVE contenere un nome distinto (DN) non vuoto. |
4.1.2.5 | Le CA conformi a questo profilo DEVONO sempre codificare le date di validità del certificato fino all'anno 2049 come UTCTime |
4.1.2.5.1 | I valori UTCTime DEVONO essere espressi nel fuso orario di Greenwich (Zulu) |
4.1.2.5.1 | I valori UTCTime DEVONO includere i secondi |
4.1.2.5.2 | I valori del tempo GeneralizedTime DEVONO essere espressi nel fuso orario di Greenwich (Zulu) |
4.1.2.5.2 | GeneralizedTime DEVE includere secondi |
4.1.2.5.2 | I valori GeneralizedTime NON DEVONO includere i secondi frazionari |
4.1.2.6 | Se l'oggetto è una CA (ad esempio, è presente l'estensione dei vincoli di base, come discusso nella Sezione 4.2.1.9, e il valore di cA è TRUE), il campo dell'oggetto DEVE essere compilato con un nome distinto non vuoto corrispondente al contenuto del campo dell'emittente (Sezione 4.1.2.4) in tutti i certificati emessi dall'oggetto CA. |
4.1.2.8 | I campi di identificatori univoci DEVONO essere visualizzati solo se la versione è la 2 o 3 |
4.1.2.8 | Le CA conformi a questo profilo NON DEVONO generare certificati con identificatori univoci. |
4.1.2.9 | Il campo delle estensioni DEVE essere visualizzato solo se la versione è 3 |
4.2 | Un certificato NON DEVE includere più di un'istanza di una determinata estensione. |
4.2 | Se la CA emette certificati con una sequenza vuota per il campo dell'oggetto, DEVE supportare l'estensione del nome alternativo dell'oggetto |
4.2.1.1 | Il campo keyIdentifier dell'estensione AuthorityKeyIdentifier DEVE essere incluso in tutti i certificati generati da CA conformi per facilitare la creazione del percorso di certificazione. |
4.2.1.1 | Le CA conformi DEVONO contrassegnare l'estensione AuthorityKeyIdentifier come non critica. |
4.2.1.2 | Per facilitare la creazione del percorso di certificazione, AuthorityKeyIdentifier DEVE apparire in tutti i certificati CA conformi, ovvero in tutti i certificati, inclusa l'estensione dei vincoli di base (Sezione 4.2.1.9), in cui il valore di cA è TRUE. |
4.2.1.2 | Le CA conformi DEVONO contrassegnare l'estensione dell'identificatore della chiave dell'oggetto come non critica. |
4.2.1.3 | Se il bit keyCertSign è affermato, allora il bit cA nei vincoli di base estensione (Sezione 4.2.1.9) DEVE anche essere asserito. |
4.2.1.3 | Quando l'estensione keyUsage viene visualizzata in un certificato, almeno uno dei bit DEVE essere impostato su 1. |
4.2.1.4 | Un OID del criterio del certificato NON DEVE apparire più di una volta in un'estensione dei criteri dei certificati. |
4.2.1.4 | Quando vengono utilizzati con il criterio speciale anyPolicy, i qualificatori DEVONO essere limitati ai qualificatori identificati in questa sezione. |
4.2.1.5 | I criteri NON DEVONO essere mappati al valore speciale anyPolicy |
4.2.1.6 | Ogni volta che tali identità (qualsiasi elemento in una SAN) devono essere associate a un certificato, DEVE essere utilizzata l'estensione del nome alternativo del soggetto (o del nome alternativo dell'emittente); |
4.2.1.6 | Se il campo dell'oggetto contiene una sequenza vuota, la CA emittente DEVE includere un'estensione subjectAltName contrassegnata come critica. |
4.2.1.6 | Quando l'estensione subjectAltName contiene un indirizzo email Internet, l'indirizzo DEVE essere archiviato nel rfc822Name . |
4.2.1.6 | Per la versione IP 4, come specificato in [RFC 791], la stringa ottetto DEVE contenere esattamente quattro ottetti. Per la versione IP 6, come specificato in [RFC 2460], la stringa ottetto DEVE contenere esattamente sedici ottetti. |
4.2.1.6 | Quando l'estensione subjectAltName contiene un'etichetta del sistema dei nomi di dominio, il nome del dominio DEVE essere memorizzato nel campo dNSName (una stringa IA5). |
4.2.1.6 | SAN: il dNSName DEVE essere nella "sintassi del nome preferito" |
4.2.1.6 | Le estensioni subjectAltName con un valore dNSName pari a " " NON DEVONO essere utilizzate |
4.2.1.6 | l'utilizzo della rappresentazione DNS per gli indirizzi di posta Internet (subscriber.example.com anziché sottoscritto@example.com) NON DEVE essere utilizzato |
4.2.1.6 | Quando l'estensione subjectAltName contiene un URI, il nome DEVE essere archiviato in uniformResourceIdentifier (una stringa IA5String). |
4.2.1.6 | SAN URI: Il nome non DEVE essere un URI relativo, e DEVE seguire la sintassi URI e la codifica delle regole specificate in [RFC 3986]. |
4.2.1.6 | URI SAN: il nome DEVE includere entrambi uno schema (ad es. "http" o "ftp") e una parte specifica dello schema. |
4.2.1.6 | Gli URI SAN che includono un'autorità ([RFC 3986], Sezione 3.2) DEVONO includere come host un nome di dominio completo o un indirizzo IP. |
4.2.1.6 | Se è presente l'estensione subjectAltName, la sequenza DEVE contenere almeno una voce. |
4.2.1.6 | Le CA conformi NON DEVONO emettere certificati con subjectAltName contenenti campi GeneralName vuoti. |
4.2.1.7 | Il nome alternativo dell’emittente DEVE essere codificato come in 4.2.1.6 |
4.2.1.8 | Attributi directory soggetto: le CA conformi DEVONO contrassegnare questa estensione come non critica. |
4.2.1.9 | Dove viene visualizzato, il campo pathLenConstraint DEVE essere maggiore o uguale a zero. |
4.2.1.9 | Le CA conformi DEVONO includere questa estensione in tutti i certificati CA che contengono chiavi pubbliche utilizzate per convalidare le firme digitali sui certificati e DEVONO contrassegnare l'estensione come critica in questi certificati. |
4.2.1.9 | Le CA NON DEVONO includere il campo pathLenConstraint, a meno che non venga indicato il valore booleano cA e l'estensione di utilizzo della chiave asserzioni il bit keyCertSign. |
4.2.1.10 | L'estensione di limitazioni dei nomi, che DEVE essere utilizzata solo in un certificato CA, indica uno spazio dei nomi all'interno del quale DEVONO trovarsi tutti i nomi degli oggetti nei certificati successivi in un percorso di certificazione. |
4.2.1.10 | Vincoli relativi ai nomi: le CA conformi DEVONO contrassegnare questa estensione come critica |
4.2.1.10 | Le CA conformi NON DEVONO emettere certificati quando i vincoli relativi ai nomi sono una sequenza vuota. Ciò significa che il campo allowedSubtrees o il campo excludedSubtrees DEVONO essere presente. |
4.2.1.10 | All'interno di questo profilo, i campi minimo e massimo non vengono utilizzati con alcun tipo di nome, pertanto il valore minimo DEVE essere zero e il valore massimo DEVE essere assente. |
4.2.1.10 | La sintassi di iPAddress DEVE essere come descritto nella Sezione 4.2.1.6 con le seguenti aggiunte specificamente per i vincoli di nome: Per gli indirizzi IPv4, il campo iPAddress di GeneralName DEVE contenere otto (8) ottetti, codificato nello stile di RFC 4632 (CIDR) per rappresentare un intervallo di indirizzi [RFC 4632]. Per gli indirizzi IPv6, il campo iPAddress DEVE contenere 32 ottetti con codifica simile. |
4.2.1.11 | Le CA conformi NON DEVONO emettere certificati quando i vincoli dei criteri sono una sequenza vuota. In altre parole, il campo inhibitPolicyMapping o il campo request energetici DEVONO essere presente. |
4.2.1.11 | Vincoli relativi ai criteri: le CA conformi DEVONO contrassegnare questa estensione come critica. |
4.2.1.13 | un DistributionPoint NON DEVE essere costituito solo dal campo motivi; DEVE essere presente distribuzionePoint o cRLIssuer. |
4.2.1.14 | Le CA conformi DEVONO contrassegnare questa estensione Inhibit anyPolicy come critica. |
4.2.1.15 | L'estensione CRL più recente DEVE essere contrassegnata come non critica mediante CA conformi. |
4.2.2.1 | Le CA conformi DEVONO contrassegnare questa estensione per l'accesso alle informazioni sull'autorità come non critica. |
4.2.2.2 | Le CA conformi DEVONO contrassegnare questa estensione di accesso alle informazioni del soggetto come non critica. |
4.1.2.5 | Per indicare che un certificato non ha una data di scadenza ben definita, al valore notAfter DOVREBBE essere assegnato il valore GeneralizedTime di 99991231235959Z. |
4.2.1.2 | Per aiutare le applicazioni a identificare il certificato dell'entità finale appropriato, questa estensione DEVE essere inclusa in tutti i certificati dell'entità finale |
4.2.1.3 | Se presenti, le CA conformi DEVONO contrassegnare questa estensione per l'utilizzo delle chiavi come critica. |
4.2.1.4 | Le CA conformi NON DEVONO utilizzare l'opzione notificationRef. |
4.2.1.4 | Le CA conformi DEVONO utilizzare la codifica UTF8String per expressText, ma POTREBBE utilizzare IA5String. |
4.2.1.4 | La stringa esplicitiText NON DEVE includere caratteri di controllo (ad es. da U+0000 a U+001F e da U+007F a U+009F). |
4.2.1.4 | Quando viene utilizzata la codifica UTF8String, tutte le sequenze di caratteri DOVREBBERO essere normalizzate secondo la normalizzazione Unicode modulo C (NFC) |
4.2.1.5 | Ogni syndicationDomainPolicy denominato nell'estensione di mapping dei criteri DEVE essere asserito anche in un'estensione delle norme del certificato nello stesso certificato. |
4.2.1.5 | Le CA conformi DEVONO contrassegnare questa estensione di mappatura dei criteri come critica. |
4.2.1.6 | Quando includi l'estensione subjectAltName in un certificato con un nome distinto oggetto non vuoto, le CA conformi DEVONO contrassegnare l'estensione subjectAltName come non critica. |
4.2.1.7 | Se presente, le CA conformi DEVONO contrassegnare questa estensione del nome alternativo dell'emittente come non critica. |
4.2.1.10 | NON DEVE imporre vincoli per i nomi ai moduli dei nomi x400Address, ediPartyName oggerID. |
4.2.1.12 | Le CA conformi NON DEVONO contrassegnare questa estensione come critica se è presente anyExtendedKeyUsage KeyPurposeId. |
4.2.1.13 | L'estensione dei punti di distribuzione dei CRL DEVE essere non critica |
4.2.1.13 | Se presente, DistributionPointName DEVE includere almeno un URI LDAP o HTTP. |
4.2.1.13 | Le CA conformi NON DEVONO utilizzare namerelativeToCRLIssuer per specificare i nomi dei punti di distribuzione. |
4.2.2.1 | Quando il id-ad-caIssuers accessMethod viene utilizzato, almeno un'istanza DOVREBBE specificare un accessLocation che è un HTTP [RFC 2616] o LDAP [RFC 4516] URI. |
7.2 | Per ospitare nomi di dominio internazionalizzati nella struttura attuale, implementazioni conformi DEVONO convertire i nomi di dominio internazionalizzati nel formato di codifica compatibile ASCII (ACE), come specificato nella sezione 4 di RFC 3490 prima dell'archiviazione nel campo dNSName. |