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 unterImportieren 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
达s folgende Diagramm veranschaulicht den Arbeitsablauf.
Videolink zuWie erstelle und installiere ich ein neues Zertifikat.
Erstellen进行privaten原理图lü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.
达s 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 [-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 zuTraffic Management > SSL > SSL-Dateien.
Wählen Sie auf der RegisterkarteSchlüsseldie OptionRSA-Schlüssel erstellenaus.
Geben Sie Werte für die folgenden Parameter ein, und klicken Sie aufErstellen.
- 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 Passphrasefür den Schlüssel ein.
Wählen Sie einen AES256-Codierungsalgorithmus in einem RSA-Schlüssel mit der GUI
Navigieren Sie zuTraffic Management > SSL > SSL-Dateien > RSA-Schlüssel erstellen.
Wählen Sie unterSchlüsselformatdie OptionPEMaus.
Wählen Sie imPEM-CodierungsalgorithmusAES256aus.
Wählen SiePKCS8aus.
Erstellen einer Zertifikatsignaturanforderung mit der CLI
Geben Sie an der Eingabeaufforderung Folgendes ein:
create ssl certreq -keyFile | -fipsKeyName ) [-keyForm (DER | PEM) {-PEMPassPhrase }] -countryName -stateName -organizationName -organizationUnitName -localityName -commonName -emailAddress {-challengePassword } -companyName -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
- Navigieren Sie zuTraffic Management > SSL.
Klicken Sie inSSL-ZertifikataufCreate Certificate Signing Request (CSR).
- Wählen Sie unterDigest-Methodedie OptionSHA256aus.
Weitere Informationen findenSie unter Erstellen einer CSR.
Unterstützung für alternativen Antragstellernamen in einer Zertifikatsignieranforderung
达s 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 (-keyFile | -fipsKeyName ) [-subjectAltName ] [-keyform ( DER | PEM ) {-PEMPassPhrase }] -countryName -stateName -organizationName [-organizationUnitName ] [-localityName ] [-commonName ] [-emailAddress ] {-challengePassword } [-companyName ] [-digestMethod ( SHA1 | SHA256 )]
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:
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)
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"
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
-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
- Navigieren Sie zuTraffic Management>SSL>SSL-Dateien.
- Klicken Sie auf der RegisterkarteCSRaufCreate Certificate Signing Request (CSR).
- Geben Sie die Werte ein, und klicken Sie aufErstellen.
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 unterGenerieren 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:达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
- Navigieren Sie zuTraffic Management > SSL.
- Wählen Sie im Detailbereich unterErste Schritteden Assistenten für den Typ des Zertifikats aus, das Sie erstellen möchten.
- 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 [-keyFile ] [-keyform ( DER | PEM )] [-days ]
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 [-keyFile ] [-keyform ( DER | PEM )] [-days ] [-certForm ( DER | PEM )] [-CAcert ] [-CAcertForm ( DER | PEM )] [-CAkey ] [-CAkeyForm ( DER | PEM )] [-CAserial ]
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:
创建ssl证书certsy csr1 INTM_CERT -CAcertcert1 -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 zuTraffic Management > SSL, wählen Sie in der Gruppe Erste SchritteRoot-CA Certificate Wizardaus, und konfigurieren Sie ein Root-CA-Zertifikat.
Erstellen eines zwischengeschalteten CA-Zertifikats mit der GUI
Navigieren Sie zuTraffic Management > SSL, wählen Sie in der Gruppe Erste Schritte denAssistenten 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 [-keyFile ] [-keyform ( DER | PEM )] [-days] [-certForm ( DER | PEM )] [-CAcert ] [-CAcertForm ( DER | PEM )] [-CAkey] [-CAkeyForm ( DER | PEM )] [-CAserial ]
Wenn kein Zwischenzertifikat vorhanden ist, verwenden Sie die Zertifikats- (cert1) und privaten Schlüsselwerte (rsakey1) des Root-CA-Zertifikats inCAcert
undCAkey
.
Beispiel:
create ssl cert cert12 csr1 SRVR_CERT -CAcert cert1 -CAkey rsakey1 -CAserial 23 Done
Wenn ein Zwischenzertifikat vorhanden ist, verwenden Sie die Zertifikats- (certsy
) und privaten Schlüsselwerte (pvtkey1) des Zwischenzertifikats inCAcert
undCAkey
.
Beispiel:
create ssl cert cert12 csr1 SRVR_CERT -CAcert certsy -CAkey pvtkey1 -CAserial 23 Done
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:
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
Laden Sie die Datei in das Verzeichnis /nsconfig/ssl auf der Citrix ADC Appliance hoch.
Melden Sie sich als
nsroot
Benutzer bei Citrix ADC CLI an und wechseln Sie zur Shell-Eingabeaufforderung.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'
Führen Sie den folgenden Befehl aus, um das Zertifikat zu überprüfen:
openssl x509——cert.pem -noout语境证书: 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 …
In diesem Artikel
- Erstellen进行privaten原理图lüssels
- Unterstützung für alternativen Antragstellernamen in einer Zertifikatsignieranforderung
- Einschränkungen
- Übermitteln der CSR an die Zertifizierungsstelle
- Erstellen eines Testzertifikats
- Erstellen eines Zertifikats mithilfe eines Assistenten
- Erstellen eines Endbenutzerzertifikats
- Erstellen eines selbstsignierten SAN-Zertifikats mit OpenSSL