In questo articolo sono descritti i requisiti necessari affinché i certificati di una catena X.509 possano essere considerati attendibili per l'utilizzo con le email criptate o firmate con S/MIME.
Oltre a soddisfare questi requisiti, la catena deve essere ancorata a un certificato emesso da un'autorità di certificazione (CA) che Google abbia esplicitamente ritenuto attendibile per questo scopo. Puoi anche decidere di accettare certificati radice emessi da CA che ritieni attendibili. Per saperne di più, consulta le linee guida per i certificati radice.
Note:
- Google fornisce e gestisce un elenco di certificati CA considerati attendibili da Gmail per la crittografia S/MIME. Le CA presenti nell'elenco sono considerate attendibili a esclusiva discrezione di Google, che si riserva il diritto di rimuovere CA radice in qualsiasi momento senza preavviso.
- Accertati che le estensioni installate non contraddicano altre estensioni dello stesso certificato. Ad esempio, se sono definiti i nsCertTypes, questi devono coprire esattamente gli stessi utilizzi dell'estensione Utilizzo chiave, dell'estensione Utilizzo chiave esteso e dell'estensione Limitazioni di base.
Regole relative alla catena di certificati
CA radice
Campo | Valore |
---|---|
DN emittente |
Deve identificare la CA. Ad esempio, il DN non può essere un valore generico, come "Autorità di certificazione". |
DN soggetto |
Il modulo codificato deve essere identico byte per byte al DN emittente. |
Info sulla chiave pubblica del soggetto |
rsaEncryption con un modulo RSA da 2048, 3072 o 4096. Oppure ecPublicKey con secp256r1 o secp384r1. |
Certificati di CA intermedie diverse dalla CA intermedia emittente
Utilizza queste informazioni se è presente più di una CA intermedia tra l'entità radice e l'entità di fine, direttamente o indirettamente.
La CA intermedia emittente è la CA intermedia responsabile dell'emissione del certificato dell'entità finale. Questa sezione si applica alle CA intermedie presenti nella catena diverse dalla CA intermedia emittente.
Campo | Valore | ||
---|---|---|---|
Versione | Versione 3 | ||
Numero di serie | Deve essere superiore a zero (0) e, se codificato con DER come NUMERO INTERO, deve essere inferiore o uguale a 20 byte. | ||
Algoritmo di firma | RSA con SHA‐256, SHA‐384 o SHA‐512. Oppure ECDSA con SHA‐256, SHA‐384 o SHA‐512 | ||
DN emittente |
Deve essere identico byte per byte al DN soggetto della CA emittente. |
||
Periodo di validità | Nessuno specificato | ||
DN soggetto | Nessuno specificato | ||
Info sulla chiave pubblica del soggetto |
rsaEncryption con un modulo RSA da 2048, 3072 o 4096. Oppure ecPublicKey con secp256r1 o secp384r1 |
||
Estensione | Presenza | Critico | Valore |
Utilizzo chiave | Obbligatorio | Sì |
Si devono impostare le posizioni dei bit per: keyCertSign |
Limitazioni di base | Obbligatorio | Sì | Il campo cA deve essere impostato su vero Deve essere presente il campo pathLenConstraint |
Punti di distribuzione CRL | Obbligatorio | No |
Deve essere presente almeno uno uniformResourceIdentifier |
(nota) | I server di revoca devono essere conformi alle seguenti sezioni del documento sulle norme base per l'emissione e la gestione di certificati attendibili "Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates" 1.3.2 o versioni successive rilasciato dal CA/Browser Forum:
|
||
Eventuali altre estensioni | Possono essere presenti |
Certificato della CA intermedia che emette l'entità finale
Importante: la catena deve includere almeno un certificato di una CA intermedia. Questo significa che l'entità radice non deve emettere direttamente il certificato dell'entità finale.
Campo | Valore | ||
---|---|---|---|
Versione | Versione 3 | ||
Numero di serie | Deve essere superiore a zero (0) e, se codificato con DER come NUMERO INTERO, deve essere inferiore o uguale a 20 byte. | ||
Algoritmo di firma |
RSA con SHA‐256, SHA‐384 o SHA‐512. Oppure ECDSA con SHA‐256, SHA‐384 o SHA‐512. |
||
DN emittente |
Deve essere identico byte per byte al DN soggetto della CA emittente. |
||
Periodo di validità |
Differenza tra notBefore e notAfter Non dovrebbe essere superiore a 10 anni e non deve essere superiore a 20 anni. |
||
DN soggetto |
Dovrebbe indicare l'utilizzo della CA. |
||
Info sulla chiave pubblica del soggetto |
rsaEncryption con un modulo RSA da 2048, 3072 o 4096. Oppure ecPublicKey con secp256r1 o secp384r1 |
||
Estensione | Presenza | Critico | Valore |
Utilizzo chiave | Obbligatorio | Sì |
Devono essere impostate le posizioni dei bit per: Non devono essere impostate altre posizioni dei bit. |
Utilizzo chiave esteso (EKU) | Obbligatorio | Sì, almeno un'opzione | Deve essere presente: emailProtection Non devono essere presenti: serverAuth codeSigning timeStamping anyExtendedKeyUsage |
Limitazioni di base |
Obbligatorio | Sì |
Il campo cA deve essere impostato su vero |
Criteri certificato | Facoltativo | No |
DOVREBBE essere fornito un valore policyIdentifier che identifichi le norme cui è soggetta la CA e tale valore NON DOVREBBE essere anyPolicy. |
Punti di distribuzione CRL | Obbligatorio | No |
Deve essere presente almeno uno uniformResourceIdentifier |
(nota) |
I server di revoca devono essere utilizzati secondo quanto riportato nelle seguenti sezioni del documento sulle norme base per l'emissione e la gestione di certificati attendibili "Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates" 1.3.2 o versioni successive, rilasciato dal CA/Browser Forum:
|
||
Eventuali altre estensioni | Facoltativo | No |
Possono essere presenti. |
Certificato dell'entità finale
Campo | Valore | ||
---|---|---|---|
Versione | Versione 3 | ||
Numero di serie |
Deve essere maggiore di zero (0) e deve contenere almeno 64 bit non prevedibili. Nota: sarà aggiornato in modo da rispondere ai requisiti di entropia del numero di serie dell'entità di fine descritti nel documento "Baseline Requirements Certificate Policy" del CA/Browser Forum. |
||
Algoritmo di firma | RSA con SHA‐256, SHA‐384 o SHA‐512. Oppure ECDSA con SHA‐256, SHA‐384 o SHA‐512. | ||
DN emittente |
Deve essere identico byte per byte al DN soggetto della CA emittente. |
||
Periodo di validità |
La differenza tra notBefore e notAfter non deve essere superiore a 27 mesi. Il valore di notBefore deve rappresentare il momento della firma più o meno 48 ore. |
||
DN soggetto |
Tutti i DN relativi al soggetto diversi da un indirizzo email devono essere rigorosamente convalidati prima dell'emissione, mediante una procedura documentata e controllata pubblicamente. Per una procedura accettabile, consulta il paragrafo 3.2.3 "Authentication of Individual Identity" (Autenticazione dell'identità individuale) del documento "Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates" 1.3.2 o versioni successive rilasciato dal CA/Browser Forum. Qualsiasi indirizzo email (ad esempio nei campi commonName o emailAddress) deve anche essere presente nell'estensione del nome soggetto alternativo come un nome rfc822Name. |
||
Info sulla chiave pubblica del soggetto |
rsaEncryption con un modulo RSA da 2048, 3072 o 4096. Oppure ecPublicKey con secp256r1 o secp384r1 |
||
Estensione | Presenza | Critico | Valore |
Utilizzo chiave (RSA) | Obbligatorio | Sì |
Devono essere impostate le posizioni dei bit per: Non devono essere impostate altre posizioni dei bit. |
Utilizzo chiave (ECDH) | Obbligatorio |
Devono essere impostate le posizioni dei bit per: Non devono essere impostate altre posizioni dei bit. |
|
Utilizzo chiave esteso (EKU) | Obbligatorio | Sì, almeno un'opzione |
Deve essere presente: |
Limitazioni di base |
Facoltativo | Sì, almeno un'opzione |
Se presente, il campo cA non deve essere impostato su vero |
Criteri certificato | Obbligatorio | No |
Deve essere presente: deve essere fornito un valore policyIdentifier che identifichi le norme in base alle quali è stato emesso il certificato e non deve essere anyPolicy. Può essere presente: cps, se presente, deve contenere un link HTTP o HTTPS valido al CPS nell'ambito del quale è stato emesso il certificato. |
Accesso alle informazioni dell'autorità (AIA) |
Facoltativo | No |
caIssuers e, se presente, ocsp, devono contenere almeno uno uniformResourceIdentifier HTTP accessibile pubblicamente. AccessDescription non deve contenere nessuna etichetta o parametro specifici per un singolo certificato. |
Punti di distribuzione CRL | Obbligatorio | No |
Deve essere presente almeno uno uniformResourceIdentifier |
(nota) |
I server di revoca devono funzionare secondo quanto riportato nelle seguenti sezioni del documento sulle norme base per l'emissione e la gestione di certificati attendibili "Baseline Requirements Certificate Policy for the Issuance and Management of Publicly-Trusted Certificates" 1.3.2 o versioni successive, rilasciato dal CA/Browser Forum:
|
||
Nome alternativo soggetto |
Obbligatorio | No |
Deve contenere almeno un elemento di tipo rfc822Name. |
Eventuali altre estensioni |
Facoltativo | No | Possono essere presenti. |