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
Subject
eIssuer
per ogni certificato nella catena daentity
aroot
e 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:
-
Subject
di ogni certificato corrisponde allaIssuer
del precedente nella catena (ad eccezione del certificatoEntity
). -
Subject
eIssuer
sono 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.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 in precedenza, puoi notare quanto segue:
-
Il
Subject
del certificato intermedio corrisponde alIssuer
del certificato dell'entità. -
Il valore
Subject
del certificato radice corrisponde aIssuer
di il certificato intermedio. -
Subject
eIssuer
sono 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
hash
per ogni nella catena dal giornoentity
al giornoroot
e verificare che formano un'adeguata catena di certificati. - Verifica che i certificati della catena rispettino le seguenti linee guida:
-
Subject
di ogni certificato corrisponde allaIssuer
della precedente certificato della catena (tranne il certificatoEntity
). -
Subject
eIssuer
sono uguali per il certificato radice. -
Il
subject hash
del certificato intermedio corrisponde alissuer hash
dell'entità certificato. -
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 è 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 expire
indica che
non è ancora scaduto.