Citrix ADC

Erstellen eines Zertifikats

Eine Zertifizierungsstelle (Certificate Authority, CA) ist eine Entität, die digitale Zertifikate für die Verwendung in der Kryptographie des öffentlichen Schlüssels ausstellt. Anwendungen wie Webbrowser, die SSL-Transaktionen durchführen, vertrauen Zertifikaten, die von einer Zertifizierungsstelle ausgestellt oder signiert wurden. Diese Anwendungen verwalten eine Liste der Zertifizierungsstellen, denen sie vertrauen. Wenn einer der vertrauenswürdigen Zertifizierungsstellen das für die sichere Transaktion verwendete Zertifikat signiert, fährt die Anwendung mit der Transaktion fort.

Achtung: Citrix empfiehlt, dass Sie Zertifikate von autorisierten Zertifizierungsstellen wie Verisign für alle SSL-Transaktionen verwenden. Verwenden Sie Zertifikate, die auf der Citrix ADC 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.

  • Erstellen Sie einen privaten Schlüssel.
  • Erstellen Sie eine Zertifikatsignieranforderung (CSR).
  • Reichen Sie den CSR an eine Zertifizierungsstelle ein.
  • Erstellen Sie ein Zertifikatschlüsselpaar.
  • Binden Sie das Zertifikatschlüsselpaar an einen virtuellen SSL-Server

Das folgende Diagramm veranschaulicht den Arbeitsablauf.

End-to-End-Fluss

Videolink zu Wie erstelle und installiere ich ein neues Zertifikat.

Erstellen eines privaten Schlüssels

Hinweise:

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

  • Ab Release 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 ist dieser Schlüssel nicht mit jemandem zu teilen und muss sicher auf der Citrix ADC 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 Citrix ADC Appliance hinzuzufügen.

Die Appliance unterstützt nur die RSA-Verschlüsselungsalgorithmen zur Erstellung privater Schlüssel. Sie können beide Arten von privatem Schlüssel an die Zertifizierungsstelle (CA) übermitteln. 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 Citrix ADC Appliance hinzuzufügen.

Wichtig:

  • Stellen Sie sicher, dass Sie den Zugriff auf Ihren privaten Schlüssel einschränken. Jeder, der Zugriff auf Ihren privaten Schlüssel hat, kann Ihre SSL-Daten entschlüsseln.
  • Die Länge des zulässigen SSL-Schlüsselnamens enthält die Länge des absoluten Pfadnamens, wenn der Pfad im Schlüsselnamen enthalten ist.

Alle SSL-Zertifikate und Schlüssel werden im /nsconfig/ssl Ordner 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 mit 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 Schlüssel die Option RSA-Schlüssel erstellenaus.

    RSA-Schlüssel erstellen

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

    • Schlüsseldateiname - 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 Bits. Kann von 512 Bit bis 4096 Bit reichen.
    • Public Exponent Value - Öffentlicher Exponent für den RSA-Schlüssel. Der Exponent ist Teil des Verschlüsselungsalgorithmus und wird für die Erstellung des RSA-Schlüssels benötigt.
    • Schlüsselformat - Das Format, in dem die RSA-Schlüsseldatei auf der Appliance gespeichert ist.
    • PEM-Encoding-Algorithmus - Verschlüsseln Sie den generierten RSA-Schlüssel mithilfe des AES 256-, DES- oder Triple-DES-Algorithmus (DES3). 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 eingeben

Wählen Sie einen AES256-Codierungsalgorithmus in einem RSA-Schlüssel mit der GUI

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

  2. Wählen Sie unter Schlüsselformatdie Option PEMaus.

  3. Wählen Sie im PEM-CodierungsalgorithmusAES256aus.

  4. Wählen Sie PKCS8aus.

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 Zertifikatsignaturanforderung mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL.
  2. Klicken Sie in SSL-Zertifikat auf Create Certificate Signing Request (CSR).

    Zertifikatsignaturanforderung erstellen

  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 einzelnen 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 allgemeinen Namen in einer Zertifikatsignieranforderung (CSR) mehr. Sie erzwingen SAN in allen öffentlich vertrauenswürdigen Zertifikaten.

Die Citrix ADC 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 sie 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 Citrix ADC Appliance verarbeitet nur DNS-basierte SAN-Werte.

Erstellen Sie eine CSR mit dem alternativen Betreffnamen mit 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 Name des Antragstellers (SAN) ist eine Erweiterung auf X.509, mit der verschiedene Werte mit einem Sicherheitszertifikat verknüpft werden können, indem ein SubjectAltName-Feld verwendet wird. 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 Create Certificate Signing Request (CSR) .
  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.

Übermitteln der CSR an die Zertifizierungsstelle

Die meisten Zertifizierungsstellen akzeptieren Zertifikatübermittlungen 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 wird im /nsconfig/ssl Ordner gespeichert.

Erstellen eines Testzertifikats

Hinweis:

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

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

Achtung: Da die Citrix ADC Appliance diese Zertifikate und keine tatsächliche Zertifizierungsstelle signiert, 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 Zertifikatstypen

  • Stammzertifikate
  • Intermediate-CA-Zertifikate
  • Endbenutzerzertifikate
    • Serverzertifikate
    • Clientzertifikate

Erstellen Sie vor dem Generieren eines Zertifikats einen privaten Schlüssel, und erstellen Sie mit diesem einen CSR (Certificate Signing Request, CSR) auf der Appliance. Anstatt den CSR an eine Zertifizierungsstelle zu senden, verwenden Sie dann die Citrix ADC Zertifizierungsstellentools, 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 Typ des Zertifikats aus, das Sie erstellen möchten.
  3. Folgen Sie den Anweisungen auf dem Bildschirm.

Erstellen eines Root-CA-Zertifikats mit 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 der CSR und rsa1 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 mit 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, wählen Sie in der Gruppe Erste Schritte Root-CA Certificate Wizardaus, und konfigurieren Sie ein Root-CA-Zertifikat.

Erstellen eines zwischengeschalteten CA-Zertifikats mit der GUI

Navigieren Sie zu Traffic Management > SSL, wählen Sie in der Gruppe Erste Schritte den Assistenten Intermediate-CA-Zertifikateaus, und konfigurieren Sie ein Zwischenzertifizierungsstellenzertifikat.

Erstellen eines Endbenutzerzertifikats

Ein Endbenutzerzertifikat kann ein Clientzertifikat oder ein Serverzertifikat sein. Um ein Test-Endbenutzerzertifikat zu erstellen, geben Sie das Intermediate CA-Zertifikat 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 mit 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 Zertifikats- (cert1) und privaten Schlüsselwerte (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 Zertifikats- (certsy) und privaten Schlüsselwerte (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 Namen für Betreff 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 Citrix ADC Appliance hoch.

  3. Melden Sie sich als nsroot Benutzer bei Citrix ADC 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-->