Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats - AWS CloudHSM

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats

Um HTTPS zu aktivieren, benötigt Ihr Webserver ein SSL/TLS-Zertifikat sowie einen zugehörigen privaten Schlüssel. Um den SSL/TLS-Offload mit zu verwenden AWS CloudHSM, speichern Sie den privaten Schlüssel im HSM in Ihrem Cluster. AWS CloudHSM Verwenden Sie dazu den AWS CloudHSM -Schlüsselspeicher-Anbieter (Key Storage Provider, KSP) für die Microsoft Cryptography API: Next Generation (CNG), um eine Zertifikatsignierungsanforderung (CSR) zu erstellen. Senden Sie die CSR dann an eine Zertifizierungsstelle (Certificate Authority, CA), um die CSR signieren zu lassen und ein Zertifikat zu erhalten.

Erstellen einer CSR

Verwenden Sie den AWS CloudHSM KSP auf Ihrem Windows Server, um eine CSR zu erstellen.

So erstellen Sie eine CSR
  1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter Connect to Your Instance im Amazon EC2 EC2-Benutzerhandbuch.

  2. Verwenden Sie den folgenden Befehl, um den AWS CloudHSM Client-Daemon zu starten.

    Amazon Linux
    $ sudo start cloudhsm-client
    Amazon Linux 2
    $ sudo service cloudhsm-client start
    CentOS 7
    $ sudo service cloudhsm-client start
    CentOS 8
    $ sudo service cloudhsm-client start
    RHEL 7
    $ sudo service cloudhsm-client start
    RHEL 8
    $ sudo service cloudhsm-client start
    Ubuntu 16.04 LTS
    $ sudo service cloudhsm-client start
    Ubuntu 18.04 LTS
    $ sudo service cloudhsm-client start
    Windows
    • Für Windows-Client 1.1.2 und höher:

      C:\Program Files\Amazon\CloudHSM>net.exe start AWSCloudHSMClient
    • Für Windows-Clients 1.1.1 und früher:

      C:\Program Files\Amazon\CloudHSM>start "cloudhsm_client" cloudhsm_client.exe C:\ProgramData\Amazon\CloudHSM\data\cloudhsm_client.cfg
  3. Verwenden Sie auf Ihrem Windows-Server einen Texteditor, um eine Zertifikatanforderungsdatei namens IISCertRequest.inf zu erstellen. Den Inhalt einer Beispieldatei IISCertRequest.inf sehen Sie nachfolgend. Weitere Informationen zu den Abschnitten, Schlüsseln und Werten in dieser Datei finden Sie in der Microsoft-Dokumentation. Ändern Sie den Wert ProviderName nicht.

    [Version] Signature = "$Windows NT$" [NewRequest] Subject = "CN=example.com,C=US,ST=Washington,L=Seattle,O=ExampleOrg,OU=WebServer" HashAlgorithm = SHA256 KeyAlgorithm = RSA KeyLength = 2048 ProviderName = "Cavium Key Storage Provider" KeyUsage = 0xf0 MachineKeySet = True [EnhancedKeyUsageExtension] OID=1.3.6.1.5.5.7.3.1
  4. Verwenden Sie den Windows-Befehl „certreq“, um eine CSR aus der Datei IISCertRequest.inf zu erstellen, die Sie im vorherigen Schritt erstellt haben. Im folgenden Beispiel wird die CSR in einer Datei namens IISCertRequest.csr gespeichert. Wenn Sie einen anderen Dateinamen für Ihre Zertifikatsanforderungsdatei verwendet haben, ersetzen Sie IIS CertRequest .inf durch den entsprechenden Dateinamen. Sie können optional IIS CertRequest .csr durch einen anderen Dateinamen für Ihre CSR-Datei ersetzen.

    C:\>certreq -new IISCertRequest.inf IISCertRequest.csr SDK Version: 2.03 CertReq: Request Created

    Die Datei IISCertRequest.csr enthält Ihre CSR. Sie benötigen diese CSR, um ein signiertes Zertifikat zu erhalten.

Erhalten und Importieren eines signierten Zertifikats

In einer Produktionsumgebung verwenden Sie in der Regel eine Zertifikatsstelle (CA) zum Erstellen eines Zertifikats aus einer CSR. Für eine Testumgebung ist keine CA erforderlich. Wenn Sie eine CA verwenden, senden Sie die CSR-Datei (IISCertRequest.csr) an sie und verwenden die CA, um ein signiertes SSL/TLS-Zertifikat zu erstellen.

Als Alternative zur Verwendung einer Zertifizierungsstelle können Sie ein Tool wie OpenSSL verwenden, um ein selbstsigniertes Zertifikat zu erstellen.

Warnung

Selbstsignierte Zertifikate sind nicht vertrauenswürdig für Browser und sollten in Produktionsumgebungen nicht verwendet werden. Sie können in Testumgebungen verwendet werden.

Nachfolgend wird beschrieben, wie Sie ein selbstsigniertes Zertifikat erstellen und dieses für die Signierung der CSR Ihres Webservers verwenden.

So erstellen Sie ein selbstsigniertes Zertifikat
  1. Verwenden Sie den folgenden OpenSSL-Befehl, um einen privaten Schlüssel zu erstellen. Optional können Sie SelfSignedCA.key durch den Dateinamen ersetzen, der Ihren privaten Schlüssel enthalten soll.

    openssl genrsa -aes256 -out SelfSignedCA.key 2048 Generating RSA private key, 2048 bit long modulus ......................................................................+++ .........................................+++ e is 65537 (0x10001) Enter pass phrase for SelfSignedCA.key: Verifying - Enter pass phrase for SelfSignedCA.key:
  2. Verwenden Sie den folgenden OpenSSL-Befehl, um ein selbstsigniertes Zertifikat mit dem privaten Schlüssel zu erstellen, den Sie im vorherigen Schritt erstellt haben. Hierbei handelt es sich um einen interaktiven Befehl. Lesen Sie die Anweisungen auf dem Bildschirm und befolgen Sie die Eingabeaufforderungen. Ersetzen Sie SelfSignedCA.key durch den Namen der Datei, die Ihren privaten Schlüssel enthält (falls anders). Sie können optional SelfSignedca.crt durch den Dateinamen ersetzen, der Ihr selbstsigniertes Zertifikat enthalten soll.

    openssl req -new -x509 -days 365 -key SelfSignedCA.key -out SelfSignedCA.crt Enter pass phrase for SelfSignedCA.key: You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]: State or Province Name (full name) [Some-State]: Locality Name (eg, city) []: Organization Name (eg, company) [Internet Widgits Pty Ltd]: Organizational Unit Name (eg, section) []: Common Name (e.g. server FQDN or YOUR name) []: Email Address []:
So verwenden Sie ein selbstsigniertes Zertifikat, um die CSR Ihres Webservers zu signieren
  • Verwenden Sie den folgenden OpenSSL-Befehl, um mit Ihrem privaten Schlüssel und Ihrem selbstsignierten Zertifikat die CSR zu signieren. Ersetzen Sie die folgenden Namen durch die Namen der Dateien, die die jeweiligen Daten enthalten, sofern diese abweichen.

    • IIS CertRequest .csr — Der Name der Datei, die die CSR Ihres Webservers enthält

    • SelfSignedca.CRT — Der Name der Datei, die Ihr selbstsigniertes Zertifikat enthält

    • SelfSignedCA.key — Der Name der Datei, die Ihren privaten Schlüssel enthält

    • IISCert.crt – Der Name der Datei, die das selbstsignierte Zertifikat Ihres Webservers enthalten soll

    openssl x509 -req -days 365 -in IISCertRequest.csr \ -CA SelfSignedCA.crt \ -CAkey SelfSignedCA.key \ -CAcreateserial \ -out IISCert.crt Signature ok subject=/ST=IIS-HSM/L=IIS-HSM/OU=IIS-HSM/O=IIS-HSM/CN=IIS-HSM/C=IIS-HSM Getting CA Private Key Enter pass phrase for SelfSignedCA.key:

Nachdem Sie den vorherigen Schritt abgeschlossen haben, haben Sie ein signiertes Zertifikat für Ihren Webserver (IISCert.crt) sowie ein selbstsigniertes Zertifikat (SelfSignedCA.crt). Wenn Sie diese Dateien haben, gehen Sie zu Schritt 3: Konfigurieren des Webservers.