Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione
Documentazione di Apigee X. Informazioni
Questo documento spiega come convalidare una catena di certificati prima di caricare il certificato su un archivio chiavi o un archivio attendibilità in Apigee Edge. Il processo si basa Toolkit OpenSSL per convalidare il certificato ed è applicabile a qualsiasi ambiente in cui è disponibile OpenSSL.
Prima di iniziare
Prima di seguire la procedura descritta in questo documento, assicurati di aver compreso i seguenti argomenti:
- Se non hai familiarità con una catena di certificati, leggi Catena di fiducia.
- Se non hai familiarità con la libreria OpenSSL, leggi OpenSSL.
- Per utilizzare gli esempi a riga di comando presenti in questa guida, installa o esegui l'aggiornamento alla l'ultima versione del client OpenSSL.
- Assicurati che i certificati siano in formato PEM. Se i certificati non sono in formato PEM, segui le istruzioni fornite in Conversione dei 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 in sezioni seguenti:
- 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 fasi seguendo questi passaggi:
- Accedi al server in cui è presente il client OpenSSL.
- Suddividi la catena di certificati nei seguenti certificati (se non l'hai già fatto):
-
Certificato di entità:
entity.pem -
Certificato intermedio:
intermediate.pem -
Certificato radice:
root.pem
La figura seguente mostra un esempio di catena di certificati:
Verifica dell'oggetto e dell'emittente del certificato
Questa sezione descrive come ottenere l'oggetto e l'emittente dei certificati e verificare che se hai una catena di certificati valida.
-
Esegui questo comando OpenSSL per ottenere i
SubjecteIssuerper ogni certificato nella catena daentityaroote verifica che formano 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:
-
Subjectdi ogni certificato corrisponde allaIssuerdel precedente nella catena (ad eccezione del certificatoEntity). -
SubjecteIssuersono uguali per il certificato radice.
Se i certificati della catena sono conformi a queste linee guida, la catena di certificati è 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.comCertificato 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 1O1Certificato 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 = GlobalSignNell'esempio mostrato in precedenza, puoi notare quanto segue:
-
Il
Subjectdel certificato intermedio corrisponde alIssuerdel certificato dell'entità. -
Il valore
Subjectdel certificato radice corrisponde aIssuerdi il certificato intermedio. -
SubjecteIssuersono gli stessi nel certificato radice.
Dall'esempio precedente, puoi confermare che la catena di certificati di esempio è valida.
-
Verifica dell'oggetto del certificato e dell'hash dell'emittente
Questa sezione spiega come ottenere l'hash dell'oggetto e dell'emittente dei certificati. e verificherai di avere una catena di certificati valida.
È sempre consigliabile verificare la sequenza hash dei certificati, in quanto può essere utile identificando problemi quali il nome comune (CN) del certificato con spazio indesiderato o caratteri speciali.
- Esegui questo comando OpenSSL per ottenere la sequenza
hashper ogni nella catena dal giornoentityal giornoroote verificare che formano un'adeguata catena di certificati. - Verifica che i certificati della catena rispettino le seguenti linee guida:
-
Subjectdi ogni certificato corrisponde allaIssuerdella precedente certificato della catena (tranne il certificatoEntity). -
SubjecteIssuersono uguali per il certificato radice. -
Il
subject hashdel certificato intermedio corrisponde alissuer hashdell'entità certificato. -
Il valore
subject hashdel certificato radice corrisponde al valoreissuer hashdel certificato dell'emittente. -
subjecteissuer hashsono 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 è considerate complete e valide.
Esempio di convalida della catena di certificati 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 in precedenza, puoi notare quanto segue:
Dall'esempio precedente, puoi confermare che la catena di certificati di esempio è valida.
Verifica della scadenza del certificato
Questa sezione spiega come verificare se tutti i certificati della catena sono sono scaduti utilizzando i seguenti metodi:
- Ottieni le date di inizio e di fine del certificato.
- Ottieni lo stato di scadenza.
Data di inizio e di fine
Esegui questo comando OpenSSL per ottenere le date di inizio e di fine di ciascun certificato
nella catena dal giorno entity al giorno root e verifica che tutti i certificati
della catena sono in vigore (la data di inizio è precedente a oggi) e non sono 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 questo comando OpenSSL per verificare se il certificato è già scaduto o
scadrà il prossimo N seconds. Viene restituito lo stato di scadenza del
nel contesto della data corrente
del sistema.
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 checkend
Il seguente comando usa 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 expireindica che
non è ancora scaduto.