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. Zertifikate, die von einer Zertifizierungsstelle ausgestellt oder signiert wurden, werden von Anwendungen, z. B. Webbrowsern, automatisch vertrauenswürdig, die SSL-Transaktionen durchführen. Diese Anwendungen verwalten eine Liste der Zertifizierungsstellen, denen sie vertrauen. Wenn das Zertifikat, das für die sichere Transaktion verwendet wird, von einer der vertrauenswürdigen Zertifizierungsstellen signiert wird, fährt die Anwendung mit der Transaktion fort.

Um ein SSL-Zertifikat von einer autorisierten Zertifizierungsstelle zu erhalten, müssen Sie einen privaten Schlüssel erstellen, diesen Schlüssel zum Erstellen einer Zertifikatsignaturanforderung (Certificate Signing Request, CSR) verwenden und den CSR an die Zertifizierungsstelle senden. Die einzigen Sonderzeichen, die in den Dateinamen zulässig sind, sind Unterstrich und Punkt.

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

Erstellen eines privaten Schlüssels

Der private Schlüssel ist der wichtigste Teil eines digitalen Zertifikats. Dieser Schlüssel ist definitionsgemäß für niemanden freigegeben und sollte 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.

Die Appliance unterstützt zwei Verschlüsselungsalgorithmen, RSA und DSA, zum Erstellen von privaten Schlüsseln. Sie können beide Arten von privaten Schlüsseln an die Zertifizierungsstelle 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, und der Schlüssel ist für das Hinzufügen des Zertifikats zur Citrix ADC Appliance erforderlich.

Achtung: Achten Sie darauf, den Zugriff auf Ihren privaten Schlüssel zu beschränken. Jeder, der Zugriff auf Ihren privaten Schlüssel hat, kann Ihre SSL-Daten entschlüsseln.

Hinweis:

  • 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 mathematisch effizienter und sicherer im Vergleich zum 56-Bit-Schlüssel von DES.

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

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

Hinweis:

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.

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]

Beispiel:

create rsakey testkey 2048 -aes256 -password 123456 -pkcs8

Erstellen eines privaten RSA-Schlüssels mit der GUI

Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe SSL-Schlüssel die Option RSA-Schlüssel erstellen aus, und erstellen Sie einen RSA-Schlüssel.

So wählen Sie den AES256-Kodierungsalgorithmus in einem RSA-Schlüssel mit der GUIaus:

  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 eines privaten DSA-Schlüssels mit der CLI

Geben Sie an der Eingabeaufforderung Folgendes ein:

create ssl dsakey <keyfile> <bits> [-keyform (DER | PEM)] [-pkcs8]

Beispiel:

create ssl dsakey Key-DSA-1 2048 -keyform PEM

Erstellen eines privaten DSA-Schlüssels mit der GUI

  1. Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe SSL-Schlüssel die Option DSA-Schlüssel erstellen aus, und erstellen Sie einen DSA-Schlüssel.
  2. Um einen Schlüssel im PKCS #8 Format zu erstellen, wählen Sie PKCS8aus.

Unterstützung für SHA 256-Digestalgorithmus in einer Zertifikatsignieranforderung

Die Zertifikatsignieranforderung (Certificate Signing Request, CSR) ist eine Sammlung von Informationen, einschließlich des Domänennamens, anderer wichtiger Unternehmensdetails und des privaten Schlüssels, der zum Erstellen des Zertifikats verwendet werden soll. Um das Generieren eines ungültigen Zertifikats zu vermeiden, stellen Sie sicher, dass die von Ihnen angegebenen Angaben korrekt sind.

Die Citrix ADC Appliance unterstützt das Erstellen einer CSR, die standardmäßig mit dem SHA1-Digestalgorithmus signiert wurde. In früheren Versionen mussten Sie OpenSSL verwenden, um eine CSR zu erstellen, die mit dem SHA256-Digest-Algorithmus signiert wurde.

Die Appliance unterstützt das Erstellen einer CSR, die mit dem SHA256-Digestalgorithmus signiert wurde. Der Verschlüsselungs-Hash-Algorithmus, der in SHA256 verwendet wird, macht es stärker als SHA1.

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 )

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

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).
  3. Wählen Sie unter Digest-Methode die Option SHA256 aus.

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 dem 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 )]

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 auf der CLI 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"

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"

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 Zertifikatsübermittlungen per E-Mail. Die Zertifizierungsstelle gibt ein gültiges Zertifikat an die E-Mail-Adresse zurück, von der Sie die CSR übermitteln.

Erstellen eines Testzertifikats

Hinweis:

Informationen zum Generieren eines Servertestzertifikats finden Sie unterGenerieren eines Servertestzertifikats.

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

Achtung: Da diese Zertifikate von der Citrix ADC Appliance selbst und nicht von einer tatsächlichen Zertifizierungsstelle signiert werden, 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
    • Client-Zertifikate

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 Schritte den Assistenten für den Zertifikatstyp aus, den 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>]

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

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>]

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

Erstellen eines Root-CA-Zertifikats mit der GUI

Navigieren Sie zu Traffic Management > SSL, und wählen Sie in der Gruppe Erste Schritte die Option Root-CA-Zertifikats-Assistent aus, und konfigurieren Sie ein Stammzertifizierungsstellen-Zertifikat.

Erstellen eines zwischengeschalteten CA-Zertifikats mit der GUI

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

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 Produktion zu erstellen, geben Sie ein vertrauenswürdiges Zertifizierungsstellenzertifikat an und senden Sie den CSR an eine Zertifizierungsstelle.

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>]

Wenn kein Zwischenzertifikat vorhanden ist, verwenden Sie die Werte des Zertifikats (cert1) und des privaten Schlüssels (rsakey1) des Root-CA-Zertifikats in CaCert und CaKey.

Beispiel:

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

Done

Wenn ein Zwischenzertifikat vorhanden ist, verwenden Sie die Werte des Zertifikats (certsy) und des privaten Schlüssels (pvtkey1) des Zwischenzertifikats in CaCert und CaKey.

Beispiel:

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

Done