ADC

Zertifikat erstellen

Eine Zertifizierungsstelle (CA) ist eine Stelle, die digitale Zertifikate für die Verwendung in der Kryptografie mit öffentlichen Schlüsseln ausstellt. Anwendungen wie Webbrowser, die SSL-Transaktionen durchführen, vertrauen Zertifikaten, die von einer Zertifizierungsstelle ausgestellt oder signiert wurden. Diese Anwendungen führen eine Liste der Zertifizierungsstellen, denen sie vertrauen. Wenn einer der vertrauenswürdigen Zertifizierungsstellen das für die sichere Transaktion verwendete Zertifikat signiert, setzt die Anwendung die Transaktion fort.

Vorsicht: Citrix empfiehlt, dass Sie für alle Ihre SSL-Transaktionen Zertifikate verwenden, die von autorisierten Zertifizierungsstellen wie Verisign bezogen wurden. Verwenden Sie Zertifikate, die auf der NetScaler-Appliance generiert werden, nur zu Testzwecken, nicht in einer Live-Bereitstellung.

Informationen zum Importieren eines vorhandenen Zertifikats und Schlüssels finden Sie unter Importieren eines Zertifikats.

Führen Sie die folgenden Schritte aus, um ein Zertifikat zu erstellen und es an einen virtuellen SSL-Server zu binden. Die einzigen Sonderzeichen, die in den Dateinamen zulässig sind, sind Unterstrich und Punkt. Sonderzeichen sind als erstes Zeichen im Dateinamen nicht zulässig.

  • 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

So erstellen und installieren Sie ein neues Zertifikat

Erstellen eines privaten Schlüssels

Hinweise:

  • Ab Version 12.1 Build 49.x können Sie den AES256-Algorithmus mit dem PEM-Schlüsselformat verwenden, um einen privaten Schlüssel auf der Appliance zu verschlüsseln. AES mit 256-Bit-Schlüssel ist mathematisch effizienter und sicherer als der 56-Bit-Schlüssel des Data Encryption Standard (DES).

  • Ab Version 12.1 Build 50.x können Sie einen RSA-Schlüssel im PKCS #8 -Format erstellen.

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.

Die Appliance unterstützt nur die RSA-Verschlüsselungsalgorithmen zum Erstellen privater Schlüssel. Sie können beide Arten von privaten Schlüsseln an die Zertifizierungsstelle (CA) senden. 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 unbedingt den Zugriff auf Ihren privaten Schlüssel. Jeder, der Zugriff auf Ihren privaten Schlüssel hat, kann Ihre SSL-Daten entschlüsseln.
  • Die Länge des zulässigen SSL-Schlüsselnamens umfasst die Länge des absoluten Pfadnamens, wenn der Pfad im Schlüsselnamen enthalten ist.

Alle SSL-Zertifikate und Schlüssel werden im Ordner /nsconfig/ssl auf der Appliance gespeichert. Für zusätzliche Sicherheit können Sie den DES- oder Triple DES (3DES) -Algorithmus verwenden, um den auf der Appliance gespeicherten privaten Schlüssel zu verschlüsseln.

Erstellen eines privaten RSA-Schlüssels mithilfe der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

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

Beispiel:

create rsakey testkey 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. Wählen Sie auf der Registerkarte Keys die Option 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

Wählen Sie über die grafische Benutzeroberfläche einen AES256-Codierungsalgorithmus in einem RSA-Schlüssel

  1. Navigieren Sie zu Traffic Management > SSL > SSL-Dateien > RSA-Schlüssel erstellen.

  2. Wählen Sie unter SchlüsselformatPEMaus.

  3. Wählen Sie im PEM-KodierungsalgorithmusAES256aus.

  4. Wählen Sie PKCS8.

Erstellen einer Zertifikatsignaturanforderung mit der CLI

Geben Sie an der Eingabeaufforderung 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 in SSL-Zertifikat auf Certificate Signing Request (CSR) erstellen

    Signaturanforderung für ein Zertifikat

  3. Wählen Sie unter Digest-Methode die Option SHA256 aus.

Weitere Informationen finden Sie unter Erstellen einer CSR .

Unterstützung für alternativen Antragstellernamen in einer Zertifikatsignieranforderung

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.

Die NetScaler Appliance unterstützt das Hinzufügen von SAN-Werten beim Erstellen einer CSR. Sie können eine CSR mit einem SAN-Eintrag an eine Zertifizierungsstelle senden, um ein signiertes Zertifikat mit diesem SAN-Eintrag zu erhalten. Wenn die Appliance eine Anforderung erhält, sucht sie in den SAN-Einträgen im Serverzertifikat nach einem übereinstimmenden Domänennamen. Wenn eine Übereinstimmung gefunden wird, sendet es das Zertifikat an den Client und schließt den SSL-Handshake ab. Sie können die CLI oder die GUI verwenden, um eine CSR mit SAN-Werten zu erstellen.

Hinweis: Die NetScaler Appliance verarbeitet nur DNS-basierte SAN-Werte.

Erstellen einer CSR mit dem alternativen Antragstellernamen mithilfe der CLI

create ssl certReq <reqFile> (-keyFile <input_filename> | -fipsKeyName <string>) [-subjectAltName <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-->

Die Parameter:

SubjectAltName: Der alternative Antragstellername (SAN) ist eine Erweiterung von X.509, mit der verschiedene Werte mithilfe eines SubjectAltName-Feldes mit einem Sicherheitszertifikat verknüpft werden können. Diese Werte werden als “Subject Alternative Names” (SAN) bezeichnet. Zu den Namen gehören:

  1. IP-Adressen (Präfix mit “IP:” Beispiel: IP:198.51.10.5 IP:192.0.2.100)

  2. DNS-Namen (Präfix mit “DNS:” Beispiel: DNS: www.example.com DNS: www.example.org DNS: www.example.net)

Geben Sie in der Befehlszeile Werte in Anführungszeichen ein. Trennen Sie zwei Werte durch ein Leerzeichen. Anführungszeichen sind in der GUI nicht erforderlich. Maximale Länge: 127

Beispiel:

create certReq test1.csr -keyFile test1.ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subjectAltName "DNS:*.example.com DNS:www.example.org DNS:www.example.net"
<!--NeedCopy-->

Hinweis:

Auf einer FIPS-Appliance müssen Sie den Schlüsseldateinamen durch den FIPS-Schlüsselnamen ersetzen, wenn Sie den FIPS-Schlüssel direkt auf der Appliance erstellen.

create certReq <csrname> -fipsKeyName fipskey.ky -countryName IN -stateName Kar -organizationName citrix -commonName ctx.com -subjectAltName "DNS:www.example.com DNS:www.example.org DNS:www.example.net"
<!--NeedCopy-->

Erstellen einer CSR mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL > SSL-Dateien.
  2. Klicken Sie auf der Registerkarte CSR auf Certificate Signing Request (CSR) erstellen.
  3. Geben Sie die Werte ein und klicken Sie auf Erstellen.

Einschränkungen

Um SAN beim Erstellen eines SSL-Zertifikats zu verwenden, müssen Sie die SAN-Werte explizit angeben. Die Werte werden nicht automatisch aus der CSR-Datei gelesen.

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.

Die CSR ist im Ordner /nsconfig/ssl gespeichert.

Erstellen eines Testzertifikats

Hinweis:

Informationen zum Generieren eines Servertestzertifikats finden Sie unter Generieren eines Server-Testzertifikats.

Die NetScaler Appliance verfügt über eine integrierte Zertifizierungsstellen-Tools-Suite, mit der Sie selbstsignierte Zertifikate zu Testzwecken erstellen können.

Vorsicht: Da die NetScaler Appliance diese Zertifikate signiert und keine tatsächliche Zertifizierungsstelle, dürfen Sie sie nicht in einer Produktionsumgebung verwenden. Wenn Sie versuchen, ein selbstsigniertes Zertifikat in einer Produktionsumgebung zu verwenden, erhalten Benutzer bei jedem Zugriff auf den virtuellen Server eine Warnung “Zertifikat ungültig”.

Die Appliance unterstützt die Erstellung der folgenden Zertifikattypen:

  • Root-CA-Zertifikate
  • CA-Zertifikate für Fortgeschrittene
  • Endbenutzer-Zertifikate
    • Server-Zertifikate
    • Client-Zertifikate

Erstellen Sie vor dem Generieren eines Zertifikats einen privaten Schlüssel und erstellen Sie damit eine Zertifikatssignierungsanforderung (CSR) auf der Appliance. Anstatt die CSR dann an eine Zertifizierungsstelle zu senden, verwenden Sie die NetScaler CA Tools, um ein Zertifikat zu generieren.

Erstellen eines Zertifikats mithilfe eines Assistenten

  1. Navigieren Sie zu Traffic Management > SSL.
  2. Wählen Sie im Detailbereich unter Erste Schritteden Assistenten für den zu erstellenden Zertifikattyp aus.
  3. Befolgen Sie die Anweisungen auf dem Bildschirm.

Erstellen eines Root-CA-Zertifikats mithilfe der CLI

Geben Sie an der Eingabeaufforderung den folgenden Befehl ein:

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days <positive_integer>]
<!--NeedCopy-->

Im folgenden Beispiel ist csreq1 die CSR und rsa1 ist der private Schlüssel, der zuvor erstellt wurde.

Beispiel:

create ssl cert cert1 csreq1 ROOT_CERT -keyFile rsa1 -keyForm PEM -days 365

  Done
<!--NeedCopy-->

Erstellen eines zwischengeschalteten CA-Zertifikats mithilfe der CLI

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days <positive_integer>] [-certForm ( DER | PEM )] [-CAcert <input_filename>] [-CAcertForm ( DER | PEM )] [-CAkey <input_filename>] [-CAkeyForm ( DER | PEM )] [-CAserial <output_filename>]
<!--NeedCopy-->

Im folgenden Beispiel ist csr1 die zuvor erstellte CSR. Cert1 und rsakey1 sind das Zertifikat und der entsprechende Schlüssel des selbstsignierten Zertifikats (Root-CA), und pvtkey1 ist der private Schlüssel des zwischengeschalteten CA-Zertifikats.

Beispiel:

create ssl cert certsy csr1 INTM_CERT -CAcert cert1 -CAkey rsakey1 -CAserial 23
Done

create ssl rsakey pvtkey1 2048 -exponent F4 -keyform PEM
Done
<!--NeedCopy-->

Erstellen eines Root-CA-Zertifikats mit der GUI

Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe Erste Schritte den Assistenten für das Root-CA-Zertifikataus, und konfigurieren Sie ein Stammzertifikat der Zertifizierungsstelle.

Erstellen eines zwischengeschalteten CA-Zertifikats über die grafische Benutzeroberfläche

Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe Erste Schritte den Assistenten für zwischengeschaltete CA-Zertifikateaus, und konfigurieren Sie ein zwischengeschaltetes CA-Zertifikat.

Erstellen eines Endbenutzerzertifikats

Ein Endbenutzerzertifikat kann ein Clientzertifikat oder ein Serverzertifikat sein. Um ein Testendbenutzerzertifikat zu erstellen, geben Sie das Zwischenzertifikat der Zertifizierungsstelle oder das selbstsignierte Root-CA-Zertifikat an.

Hinweis: Um ein Endbenutzerzertifikat für die Produktionsverwendung zu erstellen, geben Sie ein vertrauenswürdiges CA-Zertifikat an und senden Sie die CSR an eine Zertifizierungsstelle (CA).

Erstellen eines Test-Endbenutzerzertifikats mithilfe der Befehlszeilenschnittstelle

create ssl cert <certFile> <reqFile> <certType> [-keyFile <input_filename>] [-keyform ( DER | PEM )] [-days<positive_integer>] [-certForm ( DER | PEM )] [-CAcert <input_filename>] [-CAcertForm ( DER | PEM )] [-CAkey<input_filename>] [-CAkeyForm ( DER | PEM )] [-CAserial <output_filename>]
<!--NeedCopy-->

Wenn kein Zwischenzertifikat vorhanden ist, verwenden Sie die Werte für das Zertifikat (cert1) und den privaten Schlüssel (rsakey1) des Root-CA-Zertifikats in CAcert und CAkey.

Beispiel:

create ssl cert cert12 csr1 SRVR_CERT -CAcert cert1 -CAkey rsakey1 -CAserial 23

Done
<!--NeedCopy-->

Wenn ein Zwischenzertifikat vorhanden ist, verwenden Sie die Werte für das Zertifikat (certsy) und den privaten Schlüssel (pvtkey1) des Zwischenzertifikats in CAcert und CAkey.

Beispiel:

create ssl cert cert12 csr1 SRVR_CERT -CAcert certsy -CAkey pvtkey1 -CAserial 23

Done
<!--NeedCopy-->

Erstellen eines selbstsignierten SAN-Zertifikats mit OpenSSL

Um ein selbstsigniertes SAN-Zertifikat mit mehreren alternativen Antragstellernamen zu erstellen, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine OpenSSL-Konfigurationsdatei auf Ihrem lokalen Computer, indem Sie die entsprechenden Felder gemäß den Unternehmensanforderungen bearbeiten.

    Hinweis: Im folgenden Beispiel ist die Konfigurationsdatei “req.conf”.

    [req]
    distinguished_name = req_distinguished_name
    x509_extensions = v3_req
    prompt = no
    [req_distinguished_name]
    C = US
    ST = VA
    L = SomeCity
    O = MyCompany
    OU = MyDivision
    CN = www.company.com
    [v3_req]
    keyUsage = keyEncipherment, dataEncipherment
    extendedKeyUsage = serverAuth
    subjectAltName = @alt_names
    [alt_names]
    DNS.1 = www.company.net
    DNS.2 = company.com
    DNS.3 = company.net
    <!--NeedCopy-->
    
  2. Laden Sie die Datei in das Verzeichnis /nsconfig/ssl auf der NetScaler Appliance hoch.

  3. Melden Sie sich als Benutzer nsroot bei der NetScaler CLI an und wechseln Sie zur Shell-Eingabeaufforderung.

  4. Führen Sie den folgenden Befehl aus, um das Zertifikat zu erstellen:

    cd /nsconfig/ssl
    openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout cert.pem -out cert.pem -config req.conf -extensions 'v3_req'
    <!--NeedCopy-->
    
  5. Führen Sie den folgenden Befehl aus, um das Zertifikat zu überprüfen:

    openssl x509 -in cert.pem -noout –text
    Certificate:
    Data:
    Version: 3 (0x2)
    Serial Number:
    ed:90:c5:f0:61:78:25:ab
    Signature Algorithm: md5WithRSAEncryption
    Issuer: C=US, ST=VA, L=SomeCity, O=MyCompany, OU=MyDivision, CN=www.company.com
    Validity
    Not Before: Nov 6 22:21:38 2012 GMT
    Not After : Nov 6 22:21:38 2014 GMT
    Subject: C=US, ST=VA, L=SomeCity, O=MyCompany, OU=MyDivision, CN=www.company.com
    Subject Public Key Info:
    Public Key Algorithm: rsaEncryption
    RSA Public Key: (2048 bit)
    Modulus (2048 bit):
    …
    Exponent: 65537 (0x10001)
    X509v3 extensions:
    X509v3 Key Usage:
    Key Encipherment, Data Encipherment
    X509v3 Extended Key Usage:
    TLS Web Server Authentication
    X509v3 Subject Alternative Name:
    DNS:www.company.net, DNS:company.com, DNS:company.net
    Signature Algorithm: md5WithRSAEncryption …
    <!--NeedCopy-->