<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
Subject
undIssuer
für jedes Zertifikat in der Kette vonentity
anroot
und 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>
-
Subject
jedes Zertifikats stimmt mit demIssuer
des vorheriges Zertifikat in der Kette an (außer dem ZertifikatEntity
). -
Subject
undIssuer
sind 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.com
Zwischenzertifikat
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
Root-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 = GlobalSign
Beachten Sie im obigen Beispiel Folgendes:
-
Der
Subject
des Zwischenzertifikats stimmt mit demIssuer
überein des Entitätszertifikats. -
Die
Subject
des Root-Zertifikats stimmt mit derIssuer
von Zwischenzertifikat. -
Subject
undIssuer
sind 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 vonentity
bisroot
an und prüfen Sie, eine ordnungsgemäße Zertifikatskette bilden. - Die Zertifikate in der Kette müssen den folgenden Richtlinien entsprechen:
-
Subject
jedes Zertifikats entspricht demIssuer
der vorhergehenden Zertifikat in der Kette (außer dem ZertifikatEntity
). -
Subject
undIssuer
sind für das Root-Zertifikat identisch. -
Der
subject hash
des Zwischenzertifikats stimmt mit demissuer hash
der Entität überein Zertifikat. -
Die
subject hash
des Root-Zertifikats stimmt mit derissuer hash
des Ausstellerzertifikats überein. -
subject
undissuer hash
sind 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.