Stai visualizzando la documentazione di Apigee Edge.
Vai alla
documentazione di Apigee X. informazioni
Questo documento spiega come convalidare una catena di certificati prima di caricarlo in un archivio chiavi o in un archivio attendibilità in Apigee Edge. Il processo si basa sul toolkit OpenSSL per convalidare la catena di certificati ed è applicabile a qualsiasi ambiente in cui è disponibile OpenSSL.
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.
- 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. Se i certificati non sono in formato PEM, segui le istruzioni riportate in Convertire i certificati nel formato supportato per convertirli in formato PEM.
Convalida dell'oggetto e dell'emittente del certificato per l'intera catena in corso
Per convalidare la catena di certificati utilizzando i comandi OpenSSL, completa i passaggi descritti nelle seguenti sezioni:
- Suddivisione della catena di certificati
- Verificare l'oggetto e l'emittente del certificato
- Verificare l'oggetto del certificato e l'hash dell'emittente
- Verificare la scadenza del certificato
Suddivisione della catena di certificati
Prima di convalidare il certificato, devi dividere la catena di certificati in certificati separati seguendo questi passaggi:
- Accedi al server in cui esiste il client OpenSSL.
- Suddividi la catena di certificati nei seguenti certificati (se non l'hai già fatto):
-
Certificato entità:
entity.pem
-
Certificato intermedio:
intermediate.pem
-
Certificato radice:
root.pem
La figura seguente mostra una catena di certificati di esempio:
Verifica dell'oggetto e dell'emittente del certificato
Questa sezione descrive come ottenere l'oggetto e l'emittente dei certificati e verificare di avere una catena di certificati valida.
-
Esegui il seguente comando OpenSSL per recuperare
Subject
eIssuer
per ogni certificato nella catena daentity
aroot
e verificare che formino una catena di certificati adeguata:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
Dove certificate è il nome del certificato.
-
Verifica che i certificati della catena rispettino le seguenti linee guida:
-
Subject
di ogni certificato corrisponde aIssuer
del certificato precedente nella catena (tranne il certificatoEntity
). -
Subject
eIssuer
sono uguali per il certificato radice.
Se i certificati della catena rispettano queste linee guida, la catena di certificati viene considerata completa e valida.
Esempio di convalida della catena di certificati
L'esempio seguente è l'output dei comandi OpenSSL per una catena di certificati di esempio contenente tre certificati:
Certificato di entità
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
Certificato intermedio
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
Certificato radice
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
Nell'esempio mostrato sopra, tieni presente quanto segue:
-
Il valore
Subject
del certificato intermedio corrisponde al valoreIssuer
del certificato dell'entità. -
Il valore
Subject
del certificato radice corrisponde al valoreIssuer
del certificato intermedio. -
Subject
eIssuer
sono gli stessi nel certificato radice.
Dall'esempio riportato sopra, puoi verificare che la catena di certificati di esempio sia valida.
-
Verifica dell'oggetto del certificato e dell'hash dell'emittente
Questa sezione spiega come ottenere l'hash del soggetto e dell'emittente dei certificati e verificare di avere una catena di certificati valida.
È sempre buona norma verificare la sequenza di hash dei certificati, in quanto può essere utile per identificare problemi come il nome comune (CN) del certificato che contiene spazi o caratteri speciali indesiderati.
- Esegui il seguente comando OpenSSL per ottenere la sequenza
hash
per ogni certificato nella catena daentity
aroot
e verifica che formino una catena di certificati adeguata. - Verifica che i certificati della catena rispettino le seguenti linee guida:
-
Subject
di ogni certificato corrisponde aIssuer
del certificato precedente nella catena (tranne il certificatoEntity
). -
Subject
eIssuer
sono uguali per il certificato radice. -
Il valore
subject hash
del certificato intermedio corrisponde al valoreissuer hash
del certificato dell'entità. -
Il valore
subject hash
del certificato radice corrisponde al valoreissuer hash
del certificato dell'emittente. -
subject
eissuer hash
sono gli stessi nel certificato radice.
openssl x509 -hash -issuer_hash -noout -in certificate
Dove certificate è il nome del certificato.
Se i certificati della catena rispettano queste linee guida, la catena di certificati viene considerata completa e valida.
Convalida di una catena di certificati di esempio tramite sequenza hash
L'esempio seguente è l'output dei comandi OpenSSL per una catena di certificati di esempio contenente tre certificati:
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
Nell'esempio mostrato sopra, tieni presente quanto segue:
Dall'esempio riportato sopra, puoi verificare che la catena di certificati di esempio sia valida.
Verificare la scadenza del certificato
Questa sezione spiega come verificare se tutti i certificati della catena sono scaduti utilizzando i seguenti metodi:
- Visualizza le date di inizio e di fine del certificato.
- Ottieni lo stato di scadenza.
Data di inizio e di fine
Esegui il seguente comando OpenSSL per ottenere le date di inizio e di fine di ogni certificato nella catena dal giorno entity
al giorno root
e verifica che tutti i certificati nella catena siano in vigore (la data di inizio è precedente a oggi) e non siano scaduti.
Esempio di convalida della scadenza del certificato fino alle date di inizio e di fine
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
Stato scadenza
Esegui il seguente comando OpenSSL per verificare se il certificato è già scaduto o scadrà il giorno N seconds
. Questo restituisce lo stato di scadenza del certificato nel contesto della data di sistema attuale.
openssl x509 -checkend <N Seconds> -noout -in certificate
Dove certificate è il nome del certificato.
Esempio di convalida della scadenza del certificato tramite l'opzione di check-end
Il seguente comando utilizza 0 seconds
per verificare se il certificato è già scaduto o meno:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
In questo esempio, il messaggio Certificate will not expire
indica che il certificato non è ancora scaduto.