Zertifikatskette validieren

<ph type="x-smartling-placeholder"></ph> Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur Apigee X-Dokumentation.
Weitere Informationen

<ph type="x-smartling-placeholder">

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

Bevor Sie das Zertifikat validieren, müssen Sie die Zertifikatskette in separate mithilfe der folgenden Schritte:

  1. Melden Sie sich auf dem Server an, auf dem sich der OpenSSL-Client befindet.
  2. Teilen Sie die Zertifikatskette in die folgenden Zertifikate auf (falls noch nicht geschehen):
    • Entitätszertifikat: entity.pem
    • Zwischenzertifikat: intermediate.pem
    • Root-Zertifikat: root.pem
<ph type="x-smartling-placeholder">

Die folgende Abbildung zeigt ein Beispiel für eine Zertifikatskette:

Ablauf der Zertifikatskette: Vom Identitätszertifikat zum Zwischenzertifikat zum Root-Zertifikat

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.

  1. Führen Sie den folgenden OpenSSL-Befehl aus, um Subject und Issuer für jedes Zertifikat in der Kette von entity an root 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.

  2. Die Zertifikate in der Kette müssen den folgenden Richtlinien entsprechen: <ph type="x-smartling-placeholder">
      </ph>
    • Subject jedes Zertifikats stimmt mit dem Issuer des vorheriges Zertifikat in der Kette an (außer dem Zertifikat Entity).
    • Subject und Issuer 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 dem Issuer überein des Entitätszertifikats.
    • Die Subject des Root-Zertifikats stimmt mit der Issuer von Zwischenzertifikat.
    • Subject und Issuer 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.

  1. Führen Sie den folgenden OpenSSL-Befehl aus, um die hash-Sequenz für jede in der Kette von entity bis root an und prüfen Sie, eine ordnungsgemäße Zertifikatskette bilden.
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    Dabei ist certificate der Name des Zertifikats.

  3. Die Zertifikate in der Kette müssen den folgenden Richtlinien entsprechen:
    • Subject jedes Zertifikats entspricht dem Issuer der vorhergehenden Zertifikat in der Kette (außer dem Zertifikat Entity).
    • Subject und Issuer sind für das Root-Zertifikat identisch.

    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:

    • Der subject hash des Zwischenzertifikats stimmt mit dem issuer hash der Entität überein Zertifikat.
    • Die subject hash des Root-Zertifikats stimmt mit der issuer hash des Ausstellerzertifikats überein.
    • subject und issuer hash sind im Root-Zertifikat identisch.

    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.

<ph type="x-smartling-placeholder">