<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
In diesem Dokument wird erläutert, wie Sie eine Zertifikatskette validieren, bevor Sie das Zertifikat auf Schlüsselspeicher oder Truststore in Apigee Edge. Der Prozess beruht auf dem OpenSSL-Toolkit zur Validierung des Zertifikats und ist in allen Umgebungen anwendbar, in denen OpenSSL verfügbar ist.
Hinweis
Bevor Sie die Schritte in diesem Dokument verwenden, machen Sie sich mit den folgenden Themen vertraut:
- Wenn Sie mit einer Zertifikatskette nicht vertraut sind, lesen Sie Vertrauenskette:
- Wenn Sie nicht mit der OpenSSL-Bibliothek vertraut sind, lesen Sie OpenSSL
- Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie die aktuelle Version des OpenSSL-Clients.
- Die Zertifikate müssen im PEM-Format vorliegen. Wenn die Zertifikate nicht im PEM-Format vorliegen, befolgen Sie die Anweisungen in <ph type="x-smartling-placeholder"></ph> Zertifikate in ein unterstütztes Format konvertieren, um sie in das PEM-Format zu konvertieren.
Antragsteller und Aussteller des Zertifikats für die gesamte Kette validieren
Um die Zertifikatskette mit OpenSSL-Befehlen zu validieren, führen Sie die Schritte aus den folgenden Abschnitten:
- Zertifikatskette aufteilen
- Inhaber und Aussteller des Zertifikats prüfen
- Inhaber- und Aussteller-Hash des Zertifikats verifizieren
- Ablauf des Zertifikats prüfen
Zertifikatskette aufteilen
Bevor Sie das Zertifikat validieren, müssen Sie die Zertifikatskette in separate mithilfe der folgenden Schritte:
- Melden Sie sich auf dem Server an, auf dem sich der OpenSSL-Client befindet.
- Teilen Sie die Zertifikatskette in die folgenden Zertifikate auf (falls noch nicht geschehen):
-
Entitätszertifikat:
entity.pem -
Zwischenzertifikat:
intermediate.pem -
Root-Zertifikat:
root.pem
Die folgende Abbildung zeigt ein Beispiel für eine Zertifikatskette:
Antragsteller und Aussteller des Zertifikats prüfen
In diesem Abschnitt wird beschrieben, wie Sie den Betreff und den Aussteller der Zertifikate abrufen und prüfen, ob Sie haben eine gültige Zertifikatskette.
-
Führen Sie den folgenden OpenSSL-Befehl aus, um
SubjectundIssuerfür jedes Zertifikat in der Kette vonentityanrootund vergewissern Sie sich, dass diese eine ordnungsgemäße Zertifikatskette bilden:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'Dabei ist certificate der Name des Zertifikats.
-
Die Zertifikate in der Kette müssen den folgenden Richtlinien entsprechen:
<ph type="x-smartling-placeholder">
- </ph>
-
Subjectjedes Zertifikats stimmt mit demIssuerdes vorheriges Zertifikat in der Kette an (außer dem ZertifikatEntity). -
SubjectundIssuersind für das Root-Zertifikat identisch.
Wenn die Zertifikate in der Kette diesen Richtlinien entsprechen, gilt die Zertifikatskette als vollständig und gültig.
Beispiel für die Validierung der Zertifikatskette
Das folgende Beispiel zeigt die Ausgabe der OpenSSL-Befehle für eine beispielhafte Zertifikatskette mit drei Zertifikaten:
Entitätszertifikat
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.comZwischenzertifikat
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 1O1Root-Zertifikat
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 = GlobalSignBeachten Sie im obigen Beispiel Folgendes:
-
Der
Subjectdes Zwischenzertifikats stimmt mit demIssuerüberein des Entitätszertifikats. -
Die
Subjectdes Root-Zertifikats stimmt mit derIssuervon Zwischenzertifikat. -
SubjectundIssuersind im Root-Zertifikat identisch.
Anhand des obigen Beispiels können Sie bestätigen, dass die Beispielzertifikatskette gültig ist.
-
Antragsteller- und Aussteller-Hash des Zertifikats prüfen
In diesem Abschnitt wird erläutert, wie Sie den Hash des Antragstellers und Ausstellers der Zertifikate abrufen und Prüfen Sie, ob Sie eine gültige Zertifikatskette haben.
Es empfiehlt sich immer, die Hash-Sequenz von Zertifikaten zu überprüfen, da dies bei zur Identifizierung von Problemen wie dem Common Name (CN) des Zertifikats mit unnötigen Leerzeichen oder Sonderzeichen.
- Führen Sie den folgenden OpenSSL-Befehl aus, um die
hash-Sequenz für jede in der Kette vonentitybisrootan und prüfen Sie, eine ordnungsgemäße Zertifikatskette bilden. - Die Zertifikate in der Kette müssen den folgenden Richtlinien entsprechen:
-
Subjectjedes Zertifikats entspricht demIssuerder vorhergehenden Zertifikat in der Kette (außer dem ZertifikatEntity). -
SubjectundIssuersind für das Root-Zertifikat identisch. -
Der
subject hashdes Zwischenzertifikats stimmt mit demissuer hashder Entität überein Zertifikat. -
Die
subject hashdes Root-Zertifikats stimmt mit derissuer hashdes Ausstellerzertifikats überein. -
subjectundissuer hashsind im Root-Zertifikat identisch.
openssl x509 -hash -issuer_hash -noout -in certificate
Dabei ist certificate der Name des Zertifikats.
Wenn die Zertifikate in der Kette diesen Richtlinien entsprechen, ist die Zertifikatskette als vollständig und gültig erachtet werden.
Beispiel für die Validierung der Zertifikatskette durch eine Hash-Sequenz
Das folgende Beispiel zeigt die Ausgabe der OpenSSL-Befehle für eine beispielhafte Zertifikatskette mit drei Zertifikaten:
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
Beachten Sie im obigen Beispiel Folgendes:
Anhand des obigen Beispiels können Sie bestätigen, dass die Beispielzertifikatskette gültig ist.
Ablauf des Zertifikats prüfen
In diesem Abschnitt wird erläutert, wie Sie prüfen können, ob alle Zertifikate in der Kette korrekt sind. mit einer der folgenden Methoden abgelaufen sind:
- Rufen Sie das Start- und Enddatum des Zertifikats ab.
- Rufen Sie den Ablaufstatus ab.
Start- und Enddatum
Führen Sie den folgenden OpenSSL-Befehl aus, um das Start- und Enddatum der einzelnen Zertifikate abzurufen.
in der Kette von entity bis root
und überprüfen Sie, ob alle Zertifikate
in der Kette gültig sind (das Startdatum liegt vor heute) und nicht abgelaufen sind.
Beispiel für die Validierung des Zertifikatsablaufs mit Start- und Enddatum
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
Ablaufdatum
Führen Sie den folgenden OpenSSL-Befehl aus, um zu prüfen, ob das Zertifikat bereits abgelaufen ist oder
läuft im nächsten N seconds ab. Daraufhin wird der Ablaufstatus der
Zertifikat im Kontext des aktuellen Systemdatums.
openssl x509 -checkend <N Seconds> -noout -in certificate
Dabei ist certificate der Name des Zertifikats.
Beispiel für die Validierung des Ablaufs des Zertifikats über die Option „Checkend“
Der folgende Befehl prüft mithilfe von 0 seconds, ob das Zertifikat bereits vorhanden ist
abgelaufen ist oder nicht:
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 diesem Beispiel gibt die Meldung Certificate will not expire an, dass die
Das Zertifikat ist noch nicht abgelaufen.