Zweck des Zertifikats validieren

Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X.
info

In diesem Dokument wird erläutert, wie Sie den Zweck eines Zertifikats validieren, bevor Sie es in einen Keystore oder Truststore hochladen. Der Prozess basiert auf OpenSSL zur Validierung und ist anwendbar in jeder Umgebung, in der OpenSSL verfügbar ist.

Die TLS-Zertifikate werden in der Regel mit einem oder mehreren Zwecken ausgestellt, für die sie verwendet werden können. Dies geschieht in der Regel, um die Anzahl der Vorgänge zu beschränken, für die ein im Zertifikat enthaltener öffentlicher Schlüssel verwendet werden kann. Der Zweck des Zertifikats ist in den folgenden Zertifikatserweiterungen verfügbar:

  • Schlüsselverwendung
  • Erweiterte Schlüsselverwendung

Schlüsselverwendung

Die Erweiterung für die Schlüsselverwendung definiert den Zweck (z. B. Verschlüsselung, Signatur oder Zertifikatssignierung) des im Zertifikat enthaltenen Schlüssels. Wenn der öffentliche Schlüssel für die Entitätsauthentifizierung verwendet wird, sollte die Zertifikatserweiterung die Schlüsselverwendung Digitale Signatur haben.

Die verschiedenen Erweiterungen für die Schlüsselverwendung, die für ein TLS-Zertifikat verfügbar sind, das mit dem Zertifizierungsstellenprozess erstellt wurde, sind folgende:

  • Digitale Signatur
  • Nachweisbarkeit
  • Schlüsselverschlüsselung
  • Datenverschlüsselung
  • Schlüsselvereinbarung
  • Zertifikatssignierung
  • CRL-Signierung
  • Nur verschlüsseln
  • Nur entschlüsseln

Weitere Informationen zu diesen Erweiterungen für die Schlüsselverwendung finden Sie unter RFC5280, Key Usage.

Erweiterte Schlüsselverwendung

Diese Erweiterung gibt einen oder mehrere Zwecke an, für die der zertifizierte öffentliche Schlüssel zusätzlich zu oder anstelle der in der Erweiterung für die Schlüsselverwendung angegebenen grundlegenden Zwecke verwendet werden kann. Im Allgemeinen wird diese Erweiterung nur in Zertifikaten für Endentitäten angezeigt.

Einige gängige Erweiterungen für die erweiterte Schlüsselverwendung sind:

  • TLS Web server authentication
  • TLS Web client authentication
  • anyExtendedKeyUsage

Ein erweiterter Schlüssel kann entweder kritisch oder nicht kritisch sein.

  • Wenn die Erweiterung kritisch ist, darf das Zertifikat nur für den oder die angegebenen Zwecke verwendet werden. Wenn das Zertifikat für einen anderen Zweck verwendet wird, verstößt es gegen die Richtlinie der Zertifizierungsstelle.
  • Wenn die Erweiterung nicht kritisch ist, gibt sie den oder die beabsichtigten Zwecke des Schlüssels an und bedeutet nicht, dass die Zertifizierungsstelle die Verwendung des Schlüssels auf den angegebenen Zweck beschränkt. Anwendungen, die Zertifikate verwenden, erfordern jedoch möglicherweise, dass ein bestimmter Zweck angegeben wird, damit das Zertifikat akzeptiert werden kann.

Wenn ein Zertifikat sowohl das Feld für die Schlüsselverwendung als auch das Feld für die erweiterte Schlüsselverwendung als kritisch enthält, müssen beide Felder unabhängig voneinander verarbeitet werden. Das Zertifikat kann nur für einen Zweck verwendet werden, der beide Werte für die Schlüsselverwendung erfüllt. Wenn es jedoch keinen Zweck gibt, der beide Werte für die Schlüsselverwendung erfüllt, darf dieses Zertifikat für keinen Zweck verwendet werden.

Wenn Sie ein Zertifikat erwerben, muss die richtige Schlüsselverwendung definiert sein, um die Anforderungen für Client- oder Serverzertifikate zu erfüllen. Andernfalls schlägt der TLS-Handshake fehl.

Zweck Schlüsselverwendung

(erforderlich)

Erweiterte Schlüsselverwendung

(optional)

Serverentitätszertifikat, das im Keystore des virtuellen Hosts von Apigee Edge verwendet wird
  • Digitale Signatur
  • Schlüsselverschlüsselung oder Schlüsselvereinbarung
TLS-Webserverauthentifizierung
Cliententitätszertifikat, das im Truststore des virtuellen Hosts von Apigee Edge verwendet wird
  • Digitale Signatur oder Schlüsselvereinbarung
TLS-Webclientauthentifizierung
Serverentitätszertifikat, das im Truststore des Zielservers von Apigee Edge verwendet wird
  • Digitale Signatur
  • Schlüsselverschlüsselung oder Schlüsselvereinbarung
TLS-Webserverauthentifizierung
Cliententitätszertifikat, das im Keystore des Zielservers von Apigee Edge verwendet wird
  • Digitale Signatur oder Schlüsselvereinbarung
TLS-Webclientauthentifizierung
Zwischen- und Root-Zertifikate
  • Zertifikatssignierung
  • CRL-Signierung (Zertifikatssperrliste)

Hinweis

Bevor Sie die Schritte in diesem Dokument ausführen, sollten Sie die folgenden Themen kennen:

  • Wenn Sie mit einer Zertifikatskette nicht vertraut sind, lesen Sie Zertifikatskette.
  • Wenn Sie mit der OpenSSL-Bibliothek nicht vertraut sind, lesen Sie OpenSSL
  • Weitere Informationen zu Erweiterungen für die Schlüsselverwendung und die erweiterte Schlüsselverwendung finden Sie unter RFC5280.
  • Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie die aktuelle Version des OpenSSL-Clients oder aktualisieren Sie die vorhandene Version.
  • Achten Sie darauf, dass die Zertifikate im PEM-Format vorliegen. Falls nicht, konvertieren Sie die Zertifikate in das PEM-Format.

Zweck des Zertifikats validieren

In diesem Abschnitt werden die Schritte beschrieben, mit denen Sie den Zweck des Zertifikats validieren.

  1. Melden Sie sich auf dem Server an, auf dem OpenSSL vorhanden ist.
  2. Führen Sie den folgenden OpenSSL-Befehl aus, um die Schlüsselverwendung eines Zertifikats abzurufen:
    openssl x509 -noout -ext keyUsage < certificate

    Dabei ist „certificate“ der Name des Zertifikats.

    Beispielausgabe

    openssl x509 -noout -ext keyUsage < entity.pem
    X509v3 Key Usage: critical
        Digital Signature, Key Encipherment
    
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  3. Wenn eine Schlüsselverwendung erforderlich ist, wird sie wie folgt als kritisch definiert:
    openssl x509 -noout -ext keyUsage < intermediate.pem
    X509v3 Key Usage: critical
        Certificate Sign, CRL Sign
  4. Führen Sie den folgenden Befehl aus, um die erweiterte Schlüsselverwendung für ein Zertifikat abzurufen. Wenn die erweiterte Schlüsselverwendung nicht als kritisch definiert ist, ist sie eine Empfehlung und keine Pflicht.
    openssl x509 -noout -ext extendedKeyUsage < certificate

    Dabei ist „certificate“ der Name des Zertifikats.

    Beispielausgabe

    openssl x509 -noout -ext extendedKeyUsage < entity.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication
    
    openssl x509 -noout -ext extendedKeyUsage < intermediate.pem
    X509v3 Extended Key Usage:
        TLS Web Server Authentication, TLS Web Client Authentication