Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Questo documento spiega come convalidare lo scopo di un certificato prima di caricarlo in un archivio chiavi o in un archivio attendibilità. Il processo si basa su OpenSSL per la convalida ed è applicabile a qualsiasi ambiente in cui OpenSSL è disponibile.
I certificati TLS vengono generalmente emessi per uno o più scopi per cui possono essere utilizzati. In genere, ciò viene fatto per limitare il numero di operazioni per cui è possibile utilizzare una chiave pubblica contenuta nel certificato. Lo scopo del certificato è disponibile nelle seguenti estensioni di 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 per l'autenticazione delle entità viene utilizzata la chiave pubblica, l'estensione del certificato deve includere l'utilizzo della chiave Firma digitale.
Le diverse estensioni di utilizzo delle chiavi disponibili per un certificato TLS creato utilizzando il processo dell'autorità di certificazione (CA) sono le seguenti:
- Firma digitale
- Non ripudio
- Crittografia chiave
- Crittografia dati
- Scambio di chiavi
- Firma del certificato
- Firma CRL
- Solo crittografia
- Solo decrittazione
Per maggiori informazioni su queste estensioni di utilizzo delle chiavi, consulta RFC5280, Utilizzo chiavi.
Utilizzo esteso della chiave
Questa estensione indica uno o più scopi per cui è possibile utilizzare la chiave pubblica certificata, in aggiunta o al posto degli scopi di base indicati nell'estensione per l'utilizzo della chiave. In generale, questa estensione verrà visualizzata solo nei certificati delle entità finali.
Di seguito sono riportate alcune estensioni per l'utilizzo esteso delle chiavi 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 gli scopi o gli scopi indicati. Se il certificato viene utilizzato per un altro scopo, costituisce una violazione del criterio della CA.
- 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'uso della chiave allo scopo indicato. Tuttavia, le applicazioni che utilizzano i certificati potrebbero richiedere l'indicazione di uno scopo particolare 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 critico, 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 in grado di soddisfare entrambi i valori di utilizzo delle chiavi, il certificato non deve essere utilizzato per alcuno scopo.
Quando acquisti un certificato, assicurati che venga definito l'utilizzo corretto della chiave per soddisfare i requisiti dei certificati client o server senza i quali l'handshake TLS avrà esito negativo.
Utilizzo consigliato delle chiavi e usi estesi della chiave per i certificati utilizzati in Apigee Edge
Purpose |
Utilizzo chiave
(obbligatorio) |
Utilizzo esteso della chiave
(facoltativo) |
Certificato dell'entità server utilizzato nell'archivio chiavi dell'host virtuale Apigee Edge |
|
Autenticazione del server web TLS |
Certificato dell'entità client utilizzato nell'archivio attendibilità dell'host virtuale Apigee Edge |
|
Autenticazione client web TLS |
Certificato dell'entità server utilizzato nell'archivio di attendibilità del server di destinazione Apigee Edge |
|
Autenticazione del server web TLS |
Certificato dell'entità client utilizzato nell'archivio chiavi del server di destinazione Apigee Edge |
|
Autenticazione client web TLS |
Certificati intermedi e radice |
|
Prima di iniziare
Prima di seguire la procedura descritta 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 dimestichezza con la libreria OpenSSL, leggi OpenSSL
- Per scoprire di più sulle estensioni di utilizzo delle chiavi e sull'utilizzo esteso delle chiavi, consulta RFC5280.
- Se vuoi utilizzare gli esempi di riga di comando di questa guida, installa o aggiorna il client OpenSSL all'ultima versione
- Assicurati che i certificati siano in formato PEM. In caso contrario, convertili in formato PEM.
Convalida lo scopo del certificato
Questa sezione descrive i passaggi utilizzati per convalidare lo scopo del certificato.
- Accedi al server in cui è presente OpenSSL.
-
Per determinare l'utilizzo della chiave da parte 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 della chiave è obbligatorio, verrà definito come critico come segue:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign
-
Esegui questo comando per ottenere l'utilizzo esteso della chiave per un certificato.
Se l'utilizzo esteso della chiave non è definito come critico, si tratta di un suggerimento e non di un mandato.
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