ADC

Erstellen einer Zertifikatsignaturanforderung und Verwenden von SSL-Zertifikaten auf einer NetScaler Appliance

Informationen zum Installieren, Verknüpfen und Aktualisieren von Zertifikaten finden Sie unter Installieren, Verknüpfen und Aktualisieren von Zertifikaten.

Führen Sie die folgenden Schritte aus, um ein Zertifikat zu erstellen und es an einen virtuellen SSL-Server zu binden.

  • Erstellen Sie einen privaten Schlüssel.
  • Erstellen Sie eine Zertifikatssignieranforderung (CSR).
  • Reichen Sie die CSR bei einer Zertifizierungsstelle ein.
  • Erstellen Sie ein Zertifikatsschlüsselpaar.
  • Binden Sie das Zertifikatsschlüsselpaar an einen virtuellen SSL-Server

Das folgende Diagramm veranschaulicht den Arbeitsablauf.

End-to-End-Fluss

Erstellen eines privaten Schlüssels

Der private Schlüssel ist der wichtigste Teil eines digitalen Zertifikats. Per Definition darf dieser Schlüssel nicht mit irgendjemandem geteilt werden und muss sicher auf der NetScaler Appliance aufbewahrt werden. Alle mit dem öffentlichen Schlüssel verschlüsselten Daten können nur mit dem privaten Schlüssel entschlüsselt werden.

Das Zertifikat, das Sie von der Zertifizierungsstelle erhalten, ist nur mit dem privaten Schlüssel gültig, der zum Erstellen der CSR verwendet wurde. Der Schlüssel ist erforderlich, um das Zertifikat zur NetScaler Appliance hinzuzufügen.

Wichtig: Beschränken Sie den Zugriff auf Ihren privaten Schlüssel. Jeder, der Zugriff auf Ihren privaten Schlüssel hat, kann Ihre SSL-Daten entschlüsseln.

Hinweis: Die Länge des zulässigen SSL-Schlüsselnamens beinhaltet die Länge des absoluten Pfadnamens, wenn der Pfad im Schlüsselnamen enthalten ist.

Erstellen eines privaten RSA-Schlüssels mithilfe der CLI

Geben Sie in der Befehlszeile Folgendes ein:

create ssl rsakey <keyFile> <bits> [-exponent ( 3 | F4 )] [-keyform (DER | PEM )] [-des | -des3 | -aes256] {-password } [-pkcs8]
<!--NeedCopy-->

Beispiel:

create rsakey RSA_Key 2048 -aes256 -password 123456 -pkcs8
<!--NeedCopy-->

Erstellen eines privaten RSA-Schlüssels mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > SSL-Dateien.

  2. Klicken Sie auf der Seite SSL-Dateien auf die Registerkarte Schlüssel und wählen Sie RSA-Schlüssel erstellenaus.

    Erstellen eines RSA-Schlüssels

  3. Geben Sie Werte für die folgenden Parameter ein und klicken Sie auf Erstellen.

    • Key Filename — Name für und optional Pfad zur RSA-Schlüsseldatei. /nsconfig/ssl/ ist der Standardpfad.
    • Schlüsselgröße — Größe des RSA-Schlüssels in Bit. Kann von 512 Bit bis 4096 Bit reichen.
    • Öffentlicher Exponentenwert — Öffentlicher Exponent für den RSA-Schlüssel. Der Exponent ist Teil des Verschlüsselungsalgorithmus und wird zum Erstellen des RSA-Schlüssels benötigt.
    • Schlüsselformat — Das Format, in dem die RSA-Schlüsseldatei auf der Appliance gespeichert ist.
    • PEM-Codierungsalgorithmus - Verschlüsseln Sie den generierten RSA-Schlüssel mithilfe des AES 256-, DES- oder Triple-DES (DES3) -Algorithmus. Standardmäßig sind private Schlüssel unverschlüsselt.
    • PEM-Passphrase — Wenn der private Schlüssel verschlüsselt ist, geben Sie eine Passphrase für den Schlüssel ein.

    Werte eintragen

Zertifikatsignieranforderung erstellen

Verwenden Sie den privaten Schlüssel, um eine Anfrage zur Zertifikatssignierung zu erstellen und an eine Zertifizierungsstelle weiterzuleiten.

Erstellen einer Zertifikatsignaturanforderung mit der CLI

Geben Sie in der Befehlszeile Folgendes ein:

create ssl certreq <reqFile> -keyFile <input_filename> | -fipsKeyName <string>) [-keyForm (DER | PEM) {-PEMPassPhrase }] -countryName <string> -stateName <string> -organizationName <string> -organizationUnitName <string> -localityName <string> -commonName <string> -emailAddress <string> {-challengePassword } -companyName <string> -digestMethod ( SHA1 | SHA256 )
<!--NeedCopy-->

Beispiel:

create ssl certreq priv_csr_sha256 -keyfile priv_2048_2 -keyform PEM -countryName IN -stateName Karnataka -localityName Bangalore -organizationName Citrix -organizationUnitName NS -digestMethod SHA256
<!--NeedCopy-->

Erstellen einer Zertifikatssignieranforderung über die grafische Benutzeroberfläche

  1. Navigieren Sie zu Traffic Management > SSL .
  2. Klicken Sie auf der Seite SSL-Dateien auf die Registerkarte CSRs und dann auf Certificate Signing Request (CSR) erstellen.
  3. Geben Sie Werte für die folgenden Parameter ein.

    • Anforderungsdateiname — Name und optional Pfad zur Certificate Signing Request (CSR). /nsconfig/ssl/ ist der Standardpfad.

    • Schlüsseldateiname - Name und optional Pfad zum privaten Schlüssel, der zum Erstellen der Zertifikatsignieranforderung verwendet wird, die dann Teil des Zertifikatschlüsselpaars wird. Der private Schlüssel kann entweder ein RSA-Schlüssel oder ein ECDSA-Schlüssel sein. Der Schlüssel muss im lokalen Speicher der Appliance vorhanden sein. /nsconfig/ssl ist der Standardpfad.

    • Schlüssel-Format
    • PEM-Passphrase (für verschlüsselten Schlüssel)
    • Digest-Methode
    • Name der Organisation
    • Bundesstaat oder Provinz
    • Land
    • Alternativer Name des Subjekts: Der alternative Subjektname (SAN) ist eine Erweiterung von X.509, mit der mithilfe eines SubjectAltName-Felds verschiedene Werte einem Sicherheitszertifikat zugeordnet werden können. Diese Werte werden „Subject Alternative Names“ (SAN) genannt. Zu den Namen gehören:
      • IP-Adressen (Präfix mit „IP:“ Beispiel: IP:198.51.10.5 IP:192.0.2.100)
      • DNS-Namen (Präfix mit „DNS:“ Beispiel: DNS:www.example.com DNS:www.example.org DNS:www.example.net)

      Hinweise:

      • Das Feld “Subject Alternative Name” (SAN) in einem Zertifikat ermöglicht es Ihnen, mehrere Werte, wie Domänennamen und IP-Adressen, einem einzigen Zertifikat zuzuordnen. Mit anderen Worten, Sie können mehrere Domänen wie www.example.com, www.example1.com, www.example2.com, mit einem einzigen Zertifikat sichern.

      • Einige Browser, wie Google Chrome, unterstützen keinen gebräuchlichen Namen in einer Zertifikatssignieranforderung (CSR) mehr. Sie setzen SAN in allen öffentlich vertrauenswürdigen Zertifikaten durch.

    • Allgemeiner Name: Der von Ihnen angegebene Name wird während eines SSL-Handshakes mit dem allgemeinen Namen im Serverzertifikat verglichen. Stimmen die beiden Namen überein, ist der Handshake erfolgreich. Wenn die allgemeinen Namen nicht übereinstimmen, wird der für den Dienst oder die Dienstgruppe angegebene allgemeine Name mit den SAN-Feldwerten im Zertifikat verglichen. Wenn es mit einem dieser Werte übereinstimmt, ist der Handshake erfolgreich. Diese Konfiguration ist besonders nützlich, wenn sich beispielsweise zwei Server hinter einer Firewall befinden und einer der Server die Identität des anderen vortäuscht. Wenn der allgemeine Name nicht aktiviert ist, wird ein von einem der Server vorgelegten Zertifikate akzeptiert, sofern die IP-Adresse übereinstimmt.

    Geben Sie Werte für CSR ein

  4. Klicken Sie auf Erstellen.

Reichen Sie die CSR bei der Zertifizierungsstelle ein

Die meisten Zertifizierungsstellen (CA) akzeptieren die Einreichung von Zertifikaten per E-Mail. Die Zertifizierungsstelle gibt ein gültiges Zertifikat an die E-Mail-Adresse zurück, von der Sie die CSR übermitteln.

Fügen Sie ein Zertifikatschlüsselpaar hinzu

Installieren Sie das signierte Zertifikat, das Sie von der Zertifizierungsstelle erhalten haben.

Hinweis: Zertifikate und Schlüssel werden standardmäßig im Verzeichnis /nsconfig/ssl gespeichert. Wenn Ihre Zertifikate oder Schlüssel an einem anderen Ort gespeichert sind, müssen Sie den absoluten Pfad zu den Dateien auf der NetScaler-Appliance angeben.

Hinzufügen eines Zertifikatschlüsselpaars mit der CLI

add ssl certKey <certkeyName> -cert <string>[(-key <string> [-password]) | -fipsKey <string>] [-inform ( DER | PEM )] [<passplain>] [-expiryMonitor ( ENABLED | DISABLED ) [-notificationPeriod <positive_integer>]]

show ssl certKey [<certkeyName>]
<!--NeedCopy-->

Beispiel:

add ssl certKey rsa_certkeypair -cert server_cert.pem -key RSA_Key.pem -password ssl -expiryMonitor ENABLED -notificationPeriod 30
 Done
<!--NeedCopy-->

Fügen Sie über die GUI ein Zertifikatsschlüsselpaar hinzu

  1. Navigieren Sie zu Traffic Management > SSL > Zertifikate > Server.
  2. Geben Sie die Werte für die folgenden Parameter ein und klicken Sie auf Installieren.

    • Name des Zertifikat-Schlüssel-Paars — Name für das Zertifikat und den privaten Schlüssel.

    • Name der Zertifikatsdatei — Signiertes Zertifikat, das von der Zertifizierungsstelle erhalten wurde.

    • Schlüsseldateiname — Name und optional Pfad der Datei mit privatem Schlüssel, die zum Bilden des Zertifikatsschlüsselpaars verwendet wird.

Binden Sie das Zertifikatsschlüsselpaar an einen virtuellen SSL-Server

Wichtig: Verknüpfen Sie alle Zwischenzertifikate mit diesem Zertifikat, bevor Sie das Zertifikat an einen virtuellen SSL-Server binden. Informationen zum Verknüpfen von Zertifikaten finden Sie unter Erstellen einer Zertifikatkette.

Das Zertifikat, das für die Verarbeitung von SSL-Transaktionen verwendet wird, muss an den virtuellen Server gebunden sein, der die SSL-Daten empfängt. Wenn Sie über mehrere virtuelle Server verfügen, die SSL-Daten empfangen, muss an jeden von ihnen ein gültiges Zertifikatsschlüsselpaar gebunden sein.

Binden eines SSL-Zertifikatsschlüsselpaars über die CLI an einen virtuellen Server

Geben Sie an der Eingabeaufforderung die folgenden Befehle ein, um ein SSL-Zertifikatsschlüsselpaar an einen virtuellen Server zu binden und die Konfiguration zu überprüfen:

bind ssl vserver <vServerName> -certkeyName <certificate-KeyPairName> -CA -skipCAName
show ssl vserver <vServerName>
<!--NeedCopy-->

Beispiel:

bind ssl vs vs1 -certkeyName cert2 -CA -skipCAName
 Done
sh ssl vs vs1

 Advanced SSL configuration for VServer vs1:

 DH: DISABLED

 Ephemeral RSA: ENABLED Refresh Count: 0

 Session Reuse: ENABLED Timeout: 120 seconds

 Cipher Redirect: DISABLED

 SSLv2 Redirect: DISABLED

 ClearText Port: 0

 Client Auth: DISABLED

 SSL Redirect: DISABLED

 Non FIPS Ciphers: DISABLED

 SNI: DISABLED

 OCSP Stapling: DISABLED

 HSTS: DISABLED

 IncludeSubDomains: NO

 HSTS Max-Age: 0

 SSLv2: DISABLED SSLv3: ENABLED  TLSv1.0: ENABLED  TLSv1.1: DISABLED  TLSv1.2: DISABLED

 Push Encryption Trigger: Always

 Send Close-Notify: YES

 Strict Sig-Digest Check: DISABLED

ECC Curve: P_256, P_384, P_224, P_521

 1) CertKey Name: cert1 CA Certificate OCSPCheck: Optional CA_Name Sent
 2) CertKey Name: cert2 CA Certificate OCSPCheck: Optional CA_Name Skipped
 1) Cipher Name: DEFAULT

Description: Default cipher list with encryption strength >= 128bit
Done
<!--NeedCopy-->

Binden Sie ein SSL-Zertifikat-Schlüsselpaar über die GUI an einen virtuellen Server

  1. Navigieren Sie zu Traffic Management > Load Balancing > Virtuelle Server und öffnen Sie einen virtuellen SSL-Server. Klicken Sie in den Abschnitt Zertifikat .

    Zertifikat an virtuellen Server binden

  2. Klicken Sie auf den Pfeil, um das Zertifikatsschlüsselpaar auszuwählen.

    Klicken Sie auf den Pfeil, um ein Zertifikat-Schlüsselpaar

  3. Wählen Sie das Zertifikatsschlüsselpaar aus der Liste aus.

  4. Binden Sie das Zertifikatsschlüsselpaar an den virtuellen Server.

Problembehandlung

Im Folgenden sind die beiden häufigsten Fehlerszenarien mit dem Link zu den jeweiligen Lösungsartikeln aufgeführt.

  • Wenn bei der Installation eines Zertifikatschlüsselpaars auf der NetScaler Appliance der folgende Fehler angezeigt wird, lesen Sie https://support.citrix.com/article/CTX134233

    Fehler: Ungültiger privater Schlüssel oder PEM-Pass-Phrase für diesen privaten Schlüssel erforderlich.

  • Wenn bei der Installation eines SSL-Zertifikats auf der NetScaler Appliance der folgende Fehler angezeigt wird, lesen Sie https://support.citrix.com/article/CTX137887

    Fehler: Ungültiges Zertifikat.

Erstellen einer Zertifikatsignaturanforderung und Verwenden von SSL-Zertifikaten auf einer NetScaler Appliance