Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Questo documento spiega come convalidare lo scopo di un certificato prima di caricarlo in un keystore o in un truststore. La procedura si basa su OpenSSL per la convalida ed è applicabile a qualsiasi ambiente in cui è disponibile OpenSSL.
I certificati TLS vengono in genere emessi con uno o più scopi per cui possono essere utilizzati. In genere, questa operazione viene eseguita per limitare il numero di operazioni per cui è possibile utilizzare una chiave pubblica contenuta nel certificato. Lo scopo del certificato è disponibile nelle seguenti estensioni del certificato:
- Utilizzo della chiave
- Utilizzo esteso della chiave
Utilizzo della chiave
L'estensione di utilizzo della chiave definisce lo scopo (ad esempio, crittografia, firma o firma del certificato) della chiave contenuta nel certificato. Se la chiave pubblica viene utilizzata per l'autenticazione dell'entità, l'estensione del certificato deve avere l'utilizzo della chiave Firma digitale.
Le diverse estensioni di utilizzo della chiave disponibili per un certificato TLS creato utilizzando la procedura dell'autorità di certificazione (CA) sono le seguenti:
- Firma digitale
- Non ripudio
- Crittografia chiave
- Crittografia dati
- Accordo su chiavi
- Firma del certificato
- Firma CRL
- Solo crittografia
- Solo decrittazione
Per saperne di più su queste estensioni di utilizzo della chiave, consulta RFC5280, Key Usage.
Utilizzo esteso della chiave
Questa estensione indica uno o più scopi per cui la chiave pubblica certificata può essere utilizzata, in aggiunta o in sostituzione degli scopi di base indicati nell'estensione di utilizzo della chiave. In generale, questa estensione viene visualizzata solo nei certificati dell'entità finale.
Di seguito sono riportate alcune estensioni di utilizzo esteso della chiave comuni:
-
TLS Web server authentication -
TLS Web client authentication -
anyExtendedKeyUsage
Una chiave estesa può essere critica o non critica.
- Se l'estensione è critica, il certificato deve essere utilizzato solo per lo scopo o gli scopi indicati. Se il certificato viene utilizzato per un altro scopo, viola le norme di certificazione.
- Se l'estensione è non critica, indica che lo scopo o gli scopi previsti della chiave sono informativi e non implica che la CA limiti l'utilizzo della chiave allo scopo indicato. Tuttavia, le applicazioni che utilizzano i certificati potrebbero richiedere che venga indicato uno scopo specifico affinché il certificato sia accettabile.
Se un certificato contiene sia il campo di utilizzo della chiave sia il campo di utilizzo esteso della chiave come critici, entrambi i campi devono essere elaborati in modo indipendente e il certificato può essere utilizzato solo per uno scopo che soddisfi entrambi i valori di utilizzo della chiave. Tuttavia, se non esiste uno scopo che possa soddisfare entrambi i valori di utilizzo della chiave, il certificato non deve essere utilizzato per nessuno scopo.
Quando acquisti un certificato, assicurati che abbia l'utilizzo della chiave corretto definito per soddisfare i requisiti per i certificati client o server senza i quali l'handshake TLS non andrebbe a buon fine.
Utilizzo della chiave e utilizzi estesi della chiave consigliati per i certificati utilizzati in Apigee Edge
| Scopo |
Utilizzo della chiave
(obbligatorio) |
Utilizzo esteso della chiave
(facoltativo) |
| Certificato dell'entità server utilizzato nel keystore dell'host virtuale di Apigee Edge |
|
Autenticazione del server web TLS |
| Certificato dell'entità client utilizzato nel truststore dell'host virtuale di Apigee Edge |
|
Autenticazione del client web TLS |
| Certificato dell'entità server utilizzato nel truststore del server di destinazione di Apigee Edge |
|
Autenticazione del server web TLS |
| Certificato dell'entità client utilizzato nel keystore del server di destinazione di Apigee Edge |
|
Autenticazione del client web TLS |
| Certificati intermedi e radice |
|
Prima di iniziare
Prima di seguire i passaggi descritti in questo documento, assicurati di comprendere i seguenti argomenti:
- Se non hai familiarità con una catena di certificati, leggi Catena di attendibilità.
- Se non hai familiarità con la libreria OpenSSL, leggi OpenSSL
- Se vuoi saperne di più sulle estensioni di utilizzo della chiave e sull'utilizzo esteso della chiave, leggi RFC5280.
- Se vuoi utilizzare gli esempi della riga di comando in questa guida, installa o aggiorna alla versione più recente del client OpenSSL.
- Assicurati che i certificati siano in formato PEM e, in caso contrario, convertili in formato PEM.
Convalidare lo scopo del certificato
Questa sezione descrive i passaggi utilizzati per convalidare lo scopo del certificato.
- Accedi al server in cui è presente OpenSSL.
-
Per ottenere l'utilizzo della chiave di un certificato, esegui il seguente comando OpenSSL:
openssl x509 -noout -ext keyUsage < certificate
Dove certificate è il nome del certificato.
Esempio di output
openssl x509 -noout -ext keyUsage < entity.pem X509v3 Key Usage: critical Digital Signature, Key Encipherment openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign -
Se l'utilizzo di una chiave è obbligatorio, verrà definito come critico come segue:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign -
Esegui il seguente comando per ottenere l'utilizzo esteso della chiave per un certificato.
Se l'utilizzo esteso della chiave non è definito come critico, si tratta di una raccomandazione e
non di un obbligo.
openssl x509 -noout -ext extendedKeyUsage < certificate
Dove certificate è il nome del certificato.
Esempio di output
openssl x509 -noout -ext extendedKeyUsage < entity.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication openssl x509 -noout -ext extendedKeyUsage < intermediate.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication