Zweck des Zertifikats validieren

Sie sehen die Dokumentation zu Apigee Edge.
Zur Apigee X-Dokumentation
weitere Informationen

In diesem Dokument wird erläutert, wie Sie den Zweck eines Zertifikats validieren, bevor Sie das Zertifikat in einen Schlüsselspeicher oder Truststore hochladen. Der Vorgang basiert auf OpenSSL für die Validierung und kann in jeder Umgebung verwendet werden, in der OpenSSL verfügbar ist.

Die TLS-Zertifikate werden in der Regel für einen oder mehrere Zwecke ausgestellt, für die sie verwendet werden können. Dies geschieht in der Regel, um die Anzahl der Vorgänge einzuschrä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 Schlüsselverwendungserweiterung definiert den Zweck (z. B. Verschlüsselung, Signatur oder Zertifikatsignierung) des im Zertifikat enthaltenen Schlüssels. Wenn der öffentliche Schlüssel für die Entitätsauthentifizierung verwendet wird, sollte die Zertifikaterweiterung die Schlüsselnutzung Digitale Signatur haben.

Für ein TLS-Zertifikat, das mithilfe des CA-Prozesses erstellt wurde, sind folgende Erweiterungen für die Schlüsselnutzung verfügbar:

  • 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, Schlüsselverwendung.

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 erscheint diese Erweiterung nur in Zertifikaten der Endentität.

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 angegebenen Zweck verwendet werden. Wenn das Zertifikat für einen anderen Zweck verwendet wird, verstößt es gegen die Richtlinie der Zertifizierungsstelle.
  • Ist die Erweiterung nicht kritisch, gibt dies an, dass der beabsichtigte Zweck oder Zweck des Schlüssels informativ ist. Es bedeutet nicht, dass die Zertifizierungsstelle die Verwendung des Schlüssels auf den angegebenen Zweck beschränkt. Bei Anwendungen, in denen Zertifikate verwendet werden, muss jedoch möglicherweise ein bestimmter Zweck angegeben werden, damit das Zertifikat akzeptabel ist.

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 dann nur für einen Zweck verwendet werden, der beide Schlüsselnutzungswerte erfüllt. Wenn es jedoch keinen Zweck gibt, der beide Schlüsselnutzungswerte erfüllen kann, darf dieses Zertifikat für keinen Zweck verwendet werden.

Achten Sie bei der Beschaffung eines Zertifikats darauf, dass darin die richtige Schlüsselverwendung definiert ist, um die Anforderungen für Client- oder Serverzertifikate zu erfüllen, ohne dass der TLS-Handshake fehlschlagen würde.

Purpose Schlüsselverwendung

(erforderlich)

Erweiterte Schlüsselverwendung

(optional)

Zertifikat der Serverentität, das im Apigee Edge-Schlüsselspeicher des virtuellen Hosts verwendet wird
  • Digitale Signatur
  • Schlüsselverschlüsselung oder Schlüsselvereinbarung
Authentifizierung des TLS-Webservers
Clientzertifikat-Zertifikat, das in Apigee Edge Truststore des virtuellen Hosts verwendet wird
  • Digitale Signatur oder Schlüsselvereinbarung
TLS-Webclient-Authentifizierung
Zertifikat der Serverentität, das in Apigee Edge Truststore des Zielservers verwendet wird
  • Digitale Signatur
  • Schlüsselverschlüsselung oder Schlüsselvereinbarung
Authentifizierung des TLS-Webservers
Clientzertifikate-Zertifikat, das im Apigee Edge-Schlüsselspeicher des Zielservers verwendet wird
  • Digitale Signatur oder Schlüsselvereinbarung
TLS-Webclient-Authentifizierung
Zwischen- und Root-Zertifikate
  • Zertifikatszeichen
  • CRL-Zeichen (Certificate Revocation List)

Hinweis

Bevor Sie die Schritte in diesem Dokument ausführen, sollten Sie sich mit den folgenden Themen vertraut machen:

  • Wenn Sie mit einer Zertifikatskette nicht vertraut sind, lesen Sie die Informationen zur Vertrauenskette.
  • Wenn Sie mit der OpenSSL-Bibliothek nicht vertraut sind, lesen Sie OpenSSL.
  • Weitere Informationen zu Erweiterungen der Schlüsselnutzung und der erweiterten Schlüsselnutzung finden Sie unter RFC5280.
  • Wenn Sie die Befehlszeilenbeispiele in dieser Anleitung verwenden möchten, installieren Sie den OpenSSL-Client oder aktualisieren Sie ihn auf die neueste Version.
  • Die Zertifikate müssen im PEM-Format vorliegen. Ist dies nicht der Fall, konvertieren Sie die Zertifikate in das PEM-Format.

Zweck des Zertifikats validieren

In diesem Abschnitt werden die Schritte beschrieben, mit denen der Zweck des Zertifikats validiert wird.

  1. Melden Sie sich auf dem Server an, auf dem sich OpenSSL befindet.
  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 die Verwendung eines Schlüssels obligatorisch ist, wird sie so 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üsselnutzung für ein Zertifikat abzurufen. Wenn die erweiterte Schlüsselnutzung nicht als kritisch definiert ist, ist es eine Empfehlung und kein Lastschriftmandat.
    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