

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.

# AWS CloudHSM SSL/TLS-Offload unter Windows mithilfe von IIS mit KSP
<a name="ssl-offload-windows"></a>

Dieses Tutorial enthält step-by-step Anweisungen zum Einrichten von SSL/TLS Offload mit AWS CloudHSM auf einem Windows-Webserver.

**Topics**
+ [-Übersicht](#ssl-offload-windows-overview)
+ [Schritt 1: Einrichten der Voraussetzungen](#ssl-offload-prerequisites-windows)
+ [Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats](#ssl-offload-windows-create-csr-and-certificate)
+ [Schritt 3: Konfigurieren des Webservers](#ssl-offload-configure-web-server-windows)
+ [Schritt 4: Aktivieren von HTTPS-Datenverkehr und Verifizieren des Zertifikats](#ssl-offload-enable-traffic-and-verify-certificate-windows)

## -Übersicht
<a name="ssl-offload-windows-overview"></a>

Unter Windows bietet die Webserveranwendung [Internet Information Services (IIS) für Windows Server](https://www.iis.net/) native Unterstützung für HTTPS. Der [AWS CloudHSM Key Storage Provider (KSP) für Microsofts Cryptography API: Next Generation (CNG)](ksp-library.md) stellt die Schnittstelle bereit, über die IIS den HSMs in Ihrem Cluster für kryptografisches Offloading und Schlüsselspeicher verwenden kann. Der AWS CloudHSM KSP ist die Brücke, die IIS mit Ihrem Cluster verbindet. AWS CloudHSM 

In diesem Tutorial erfahren Sie, wie Sie folgende Aufgaben ausführen:
+ Installieren der Web-Server-Software auf einer Amazon EC2-Instance
+ Konfigurieren Sie die Webserver-Software so, dass sie HTTPS mit einem privaten Schlüssel unterstützt, der in Ihrem AWS CloudHSM -Cluster gespeichert ist.
+ (Optional) Verwenden Sie Amazon EC2, um eine zweite Webserver-Instance zu erstellen, und Elastic Load Balancing, um einen Load Balancer zu erstellen. Mit einem Load Balancer kann die Leistung durch Verteilung der Arbeitslast auf mehrere Server gesteigert werden. Sie kann auch für Redundanz und eine höhere Verfügbarkeit sorgen, falls ein oder mehrere Webserver ausfallen.

Wenn Sie bereit sind, sehen Sie sich [Schritt 1: Einrichten der Voraussetzungen](#ssl-offload-prerequisites-windows) an.

## Schritt 1: Einrichten der Voraussetzungen
<a name="ssl-offload-prerequisites-windows"></a>

Verschiedene Plattformen erfordern unterschiedliche Voraussetzungen. Verwenden Sie den Abschnitt mit den Voraussetzungen unten, der zu Ihrer Plattform passt.

**Topics**
+ [Voraussetzungen für das Client-SDK 5](#ssl-offload-prerequisites-windows-sdk5)
+ [Voraussetzungen für das Client-SDK 3](#ssl-offload-prerequisites-windows-sdk3)

### Voraussetzungen für das Client-SDK 5
<a name="ssl-offload-prerequisites-windows-sdk5"></a>

Um das SSL/TLS Webserver-Offload mit einzurichten AWS CloudHSM, benötigen Sie Folgendes:
+ Ein aktiver AWS CloudHSM Cluster mit mindestens einem HSM.
+ Eine Amazon EC2-Instance, auf der ein Windows-Betriebssystem ausgeführt wird und die folgende Software installiert ist:
  + Die AWS CloudHSM Client-Software für Windows.
  + Internet Information Services (IIS) für Windows Server
+ Ein [Crypto-Benutzer](understanding-users.md#crypto-user-chsm-cli) (CU), der den privaten Schlüssel des Webservers auf dem HSM besitzen und verwalten soll.

**Anmerkung**  
Dieses Tutorial verwendet Microsoft Windows Server 2019. Microsoft Windows Server 2016 und 2022 werden ebenfalls unterstützt.

**So richten Sie eine Windows-Webserver-Instance auf dem HSM ein und erstellen einen CU**

1. Führen Sie die Schritte unter [Erste Schritte](getting-started.md) aus. Wenn Sie den Amazon EC2 EC2-Client starten, wählen Sie ein Windows Server 2019-AMI. Wenn Sie diese Schritte ausgeführt haben, verfügen Sie über einen aktiven Cluster mit mindestens einem HSM. Sie haben auch eine Amazon EC2 EC2-Client-Instance, auf der Windows Server ausgeführt wird und auf der die AWS CloudHSM Client-Software für Windows installiert ist.

1. (Optional) Fügen Sie Ihrem Cluster weitere HSMs hinzu. Weitere Informationen finden Sie unter [Hinzufügen eines HSM zu einem Cluster AWS CloudHSM](add-hsm.md).

1. Stellen Sie eine Verbindung zu Ihrem Windows-Server her. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Verwenden Sie die CloudHSM-CLI, um einen Crypto-Benutzer (CU) zu erstellen. Merken Sie sich den CU-Benutzernamen und das Passwort. Sie benötigen diese im nächsten Schritt. 
**Anmerkung**  
Informationen zum Erstellen eines Benutzers finden Sie unter [HSM-Benutzer mit der CloudHSM-CLI verwalten](manage-hsm-users-chsm-cli.md).

1. [Legen Sie die Anmeldeinformationen für das HSM fest](ksp-library-authentication.md). Verwenden Sie hierfür den im vorherigen Schritt erstellten CU-Benutzernamen und das entsprechende Passwort.

1. Wenn Sie in Schritt 5 den Windows Credentials Manager zum Einrichten [https://live.sysinternals.com/psexec.exe](https://live.sysinternals.com/psexec.exe)von HSM-Anmeldeinformationen verwendet haben, laden Sie den folgenden Befehl als *NT Authority\$1* SYSTEM herunter, SysInternals um ihn auszuführen:

   ```
   psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username <USERNAME> --password <PASSWORD>
   ```

   Ersetzen Sie *<USERNAME>* und *<PASSWORD>* durch die HSM-Anmeldeinformationen.

**So installieren Sie IIS auf Ihrem Windows-Server**

1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Starten Sie auf Ihrem Windows-Server **Server Manager**.

1. Wählen Sie im Dashboard **Server-Manager** die Option **Rollen und Features hinzufügen**.

1. Lesen Sie die Informationen unter **Before you begin (Zur Vorbereitung)** und klicken Sie dann auf **Weiter**.

1. Wählen Sie unter **Installationsart** die **Rollenbasierte oder funktionsbasierte Installation**. Wählen Sie anschließend **Weiter**.

1. Wählen Sie unter **Serverauswahl** die Option **Einen Server aus dem Serverpool auswählen**. Klicken Sie anschließend auf **Weiter**.

1. Gehen Sie für **Serverrollen** wie folgt vor:

   1. Wählen Sie **Web Server (IIS) (Webserver (IIS))** aus.

   1. Klicken Sie für **Add features that are required für Web Server (IIS) (Für Webserver (IIS) erforderliche Funktionen hinzufügen)** auf **Add Features (Funktionen hinzufügen)**.

   1. Klicken Sie auf **Weiter**, um das Auswählen von Serverrollen abzuschließen.

1. Für **Features (Funktionen)**, übernehmen Sie die Standardeinstellungen. Klicken Sie anschließend auf **Weiter**.

1. Lesen Sie die Informationen unter **Web Server Role (IIS) (Webserverrolle (IIS))**. Klicken Sie anschließend auf **Weiter**.

1. Übernehmen Sie für **Select role services (Rollenservices auswählen)** die Standardwerte oder ändern Sie die Einstellungen. Klicken Sie anschließend auf **Weiter**.

1. Lesen Sie unter **Confirmation (Bestätigung)** die Informationen zur Bestätigung. Wählen Sie anschließend **Installieren**.

1. Nach abgeschlossener Installation klicken Sie auf **Close (Schließen)**.

Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit [Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats](#ssl-offload-windows-create-csr-and-certificate) fort.

### Voraussetzungen für das Client-SDK 3
<a name="ssl-offload-prerequisites-windows-sdk3"></a>

Um das SSL/TLS Webserver-Offload mit einzurichten AWS CloudHSM, benötigen Sie Folgendes:
+ Ein aktiver AWS CloudHSM Cluster mit mindestens einem HSM.
+ Eine Amazon EC2-Instance, auf der ein Windows-Betriebssystem ausgeführt wird und die folgende Software installiert ist:
  + Die AWS CloudHSM Client-Software für Windows.
  + Internet Information Services (IIS) für Windows Server
+ Ein [Crypto-Benutzer](understanding-users.md#crypto-user-chsm-cli) (CU), der den privaten Schlüssel des Webservers auf dem HSM besitzen und verwalten soll.

**Anmerkung**  
In diesem Tutorial wird Microsoft Windows Server 2016 verwendet. Microsoft Windows Server 2012 wird ebenfalls unterstützt, Microsoft Windows Server 2012 R2 jedoch nicht.

**So richten Sie eine Windows-Webserver-Instance auf dem HSM ein und erstellen einen CU**

1. Führen Sie die Schritte unter [Erste Schritte](getting-started.md) aus. Beim Starten des Amazon EC2-Clients wählen Sie ein Windows Server 2016- oder Windows Server 2012-AMI aus. Wenn Sie diese Schritte ausgeführt haben, verfügen Sie über einen aktiven Cluster mit mindestens einem HSM. Sie haben auch eine Amazon EC2 EC2-Client-Instance, auf der Windows Server ausgeführt wird und auf der die AWS CloudHSM Client-Software für Windows installiert ist.

1. (Optional) Fügen Sie Ihrem Cluster weitere HSMs hinzu. Weitere Informationen finden Sie unter [Hinzufügen eines HSM zu einem Cluster AWS CloudHSM](add-hsm.md).

1. Stellen Sie eine Verbindung zu Ihrem Windows-Server her. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Verwenden Sie die CloudHSM-CLI, um einen Crypto-Benutzer (CU) zu erstellen. Merken Sie sich den CU-Benutzernamen und das Passwort. Sie benötigen diese im nächsten Schritt. 
**Anmerkung**  
Informationen zum Erstellen eines Benutzers finden Sie unter [HSM-Benutzer mit der CloudHSM-CLI verwalten](manage-hsm-users-chsm-cli.md).

1. [Legen Sie die Anmeldeinformationen für das HSM fest](ksp-library-prereq.md). Verwenden Sie hierfür den im vorherigen Schritt erstellten CU-Benutzernamen und das entsprechende Passwort.

1. Wenn Sie in Schritt 5 den Windows Credentials Manager zum Einrichten [https://live.sysinternals.com/psexec.exe](https://live.sysinternals.com/psexec.exe)von HSM-Anmeldeinformationen verwendet haben, laden Sie den folgenden Befehl als *NT Authority\$1* SYSTEM herunter, SysInternals um ihn auszuführen:

   ```
   psexec.exe -s "C:\Program Files\Amazon\CloudHsm\tools\set_cloudhsm_credentials.exe" --username <USERNAME> --password <PASSWORD>
   ```

   Ersetzen Sie *<USERNAME>* und *<PASSWORD>* durch die HSM-Anmeldeinformationen.

**So installieren Sie IIS auf Ihrem Windows-Server**

1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Starten Sie auf Ihrem Windows-Server **Server Manager**.

1. Wählen Sie im Dashboard **Server-Manager** die Option **Rollen und Features hinzufügen**.

1. Lesen Sie die Informationen unter **Before you begin (Zur Vorbereitung)** und klicken Sie dann auf **Weiter**.

1. Wählen Sie unter **Installationsart** die **Rollenbasierte oder funktionsbasierte Installation**. Wählen Sie anschließend **Weiter**.

1. Wählen Sie unter **Serverauswahl** die Option **Einen Server aus dem Serverpool auswählen**. Klicken Sie anschließend auf **Weiter**.

1. Gehen Sie für **Serverrollen** wie folgt vor:

   1. Wählen Sie **Web Server (IIS) (Webserver (IIS))** aus.

   1. Klicken Sie für **Add features that are required für Web Server (IIS) (Für Webserver (IIS) erforderliche Funktionen hinzufügen)** auf **Add Features (Funktionen hinzufügen)**.

   1. Klicken Sie auf **Weiter**, um das Auswählen von Serverrollen abzuschließen.

1. Für **Features (Funktionen)**, übernehmen Sie die Standardeinstellungen. Klicken Sie anschließend auf **Weiter**.

1. Lesen Sie die Informationen unter **Web Server Role (IIS) (Webserverrolle (IIS))**. Klicken Sie anschließend auf **Weiter**.

1. Übernehmen Sie für **Select role services (Rollenservices auswählen)** die Standardwerte oder ändern Sie die Einstellungen. Klicken Sie anschließend auf **Weiter**.

1. Lesen Sie unter **Confirmation (Bestätigung)** die Informationen zur Bestätigung. Wählen Sie anschließend **Installieren**.

1. Nach abgeschlossener Installation klicken Sie auf **Close (Schließen)**.

Nachdem Sie diese Schritte abgeschlossen haben, fahren Sie mit [Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats](#ssl-offload-windows-create-csr-and-certificate) fort.

## Schritt 2: Erstellen einer Zertifikatsignierungsanforderung (CSR) und eines Zertifikats
<a name="ssl-offload-windows-create-csr-and-certificate"></a>

Um HTTPS zu aktivieren, benötigt Ihr Webserver ein SSL/TLS Zertifikat und einen entsprechenden privaten Schlüssel. Um SSL/TLS Offload mit zu verwenden AWS CloudHSM, speichern Sie den privaten Schlüssel im HSM in Ihrem AWS CloudHSM Cluster. Verwenden Sie dazu den [AWS CloudHSM -Schlüsselspeicher-Anbieter (Key Storage Provider, KSP) für die Microsoft Cryptography API: Next Generation (CNG)](ksp-v3-library.md), 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.

**Topics**
+ [Erstellen Sie eine CSR mit Client SDK 5](#ssl-offload-windows-create-csr-new-version)
+ [Erstellen Sie eine CSR mit dem Client SDK 3](#ssl-offload-windows-create-csr-old-version)
+ [Erhalten und Importieren eines signierten Zertifikats](#ssl-offload-windows-create-certificate)

### Erstellen Sie eine CSR mit Client SDK 5
<a name="ssl-offload-windows-create-csr-new-version"></a>

1. 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](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New). Ä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 = "CloudHSM Key Storage Provider"
   KeyUsage = 0xf0
   MachineKeySet = True
   [EnhancedKeyUsageExtension]
   OID=1.3.6.1.5.5.7.3.1
   ```

1. Verwenden Sie den [**certreq**Windows-Befehl](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1), um eine CSR aus der `IISCertRequest.inf` Datei zu erstellen, die Sie im vorherigen Schritt erstellt haben. Im folgenden Beispiel wird die CSR in einer Datei namens `IISCertRequest.csr` gespeichert. Wenn Sie für Ihre Zertifikatsanforderungsdatei einen anderen Dateinamen verwendet haben, *IISCertRequest.inf* ersetzen Sie ihn durch den entsprechenden Dateinamen. Sie können Ihre CSR-Datei optional durch einen anderen Dateinamen ersetzen*IISCertRequest.csr*.

   ```
   C:\>certreq -new IISCertRequest.inf IISCertRequest.csr
   
   CertReq: Request Created
   ```

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

### Erstellen Sie eine CSR mit dem Client SDK 3
<a name="ssl-offload-windows-create-csr-old-version"></a>

1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. 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
     ```

------

1. 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](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1#BKMK_New). Ä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
   ```

1. Verwenden Sie den [**certreq**Windows-Befehl](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1), um eine CSR aus der `IISCertRequest.inf` Datei zu erstellen, die Sie im vorherigen Schritt erstellt haben. Im folgenden Beispiel wird die CSR in einer Datei namens `IISCertRequest.csr` gespeichert. Wenn Sie für Ihre Zertifikatsanforderungsdatei einen anderen Dateinamen verwendet haben, *IISCertRequest.inf* ersetzen Sie ihn durch den entsprechenden Dateinamen. Sie können Ihre CSR-Datei optional durch einen anderen Dateinamen ersetzen*IISCertRequest.csr*.

   ```
   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
<a name="ssl-offload-windows-create-certificate"></a>

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 Zertifizierungsstelle verwenden, senden Sie die CSR-Datei (`IISCertRequest.csr`) an diese und verwenden Sie die Zertifizierungsstelle, um ein signiertes SSL/TLS Zertifikat zu erstellen.

Als Alternative zur Verwendung einer Zertifizierungsstelle können Sie ein Tool wie [OpenSSL](https://www.openssl.org/) 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. Sie können es optional durch den Dateinamen *SelfSignedCA.key* ersetzen, der Ihren privaten Schlüssel enthält.

   ```
   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:
   ```

1. 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. *SelfSignedCA.key*Ersetzen Sie ihn durch den Namen der Datei, die Ihren privaten Schlüssel enthält (falls anders). Sie können es optional durch den Dateinamen *SelfSignedCA.crt* ersetzen, um Ihr selbstsigniertes Zertifikat zu enthalten.

   ```
   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.
  + *IISCertRequest.csr*— Der Name der Datei, die den 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 signierte 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](#ssl-offload-configure-web-server-windows).

## Schritt 3: Konfigurieren des Webservers
<a name="ssl-offload-configure-web-server-windows"></a>

Aktualisieren Sie die Konfiguration Ihrer IIS-Website, um das HTTPS-Zertifikat zu verwenden, das Sie am Ende des [vorherigen Schritts](#ssl-offload-windows-create-csr-and-certificate) erstellt haben. Damit ist die Einrichtung Ihrer Windows-Webserver-Software (IIS) für das SSL/TLS Auslagern mit abgeschlossen. AWS CloudHSM

Wenn Sie ein selbstsigniertes Zertifikat zum Signieren Ihrer CSR verwendet haben, müssen Sie zunächst das selbstsignierte Zertifikat in Windows unter „Vertrauenswürdige Stammzertifizierungsstellen“ importieren.

**So importieren Sie Ihr selbstsigniertes Zertifikat in Windows unter „Vertrauenswürdige Stammzertifizierungsstellen“**

1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Kopieren Sie Ihr selbstsigniertes Zertifikat auf Ihren Windows-Server.

1. Öffnen Sie auf Ihrem Windows-Server die **Systemsteuerung**.

1. Geben Sie für **Search Control Panel (Systemsteuerung durchsuchen)** **certificates** ein. Klicken Sie dann auf **Computerzertifikate verwalten**.

1. Doppelklicken Sie im Fenster **Zertifikate — Lokaler Computer** auf **Vertrauenswürdige Stammzertifizierungsstellen**.

1. Klicken Sie mit der rechten Maustaste auf **Zertifikate**, **Alle Aufgaben** und **Importieren**.

1. Klicken Sie im **Zertifikatimport-Assistent** auf **Weiter**.

1. Klicken Sie auf **Durchsuchen** und wählen Sie Ihr selbstsigniertes Zertifikat aus. Wenn Sie Ihr selbstsigniertes Zertifikat nach der Anleitung im [vorherigen Schritt dieser Anleitung](#ssl-offload-windows-create-csr-and-certificate) erstellt haben, hat Ihr selbstsigniertes Zertifikat den Namen `SelfSignedCA.crt`. Klicken Sie auf **Open**.

1. Wählen Sie **Weiter**.

1. Klicken Sie für **Zertifikatspeicher** auf **Alle Zertifikate in folgendem Speicher speichern**. Stellen Sie dann sicher, dass für **Zertifikatspeicher** **Vertrauenswürdige Stammzertifizierungsstellen** ausgewählt ist.

1. Wählen Sie **Weiter** und anschließend **Beenden** aus.

**So aktualisieren Sie die Konfiguration Ihrer IIS-Website**

1. Stellen Sie eine Verbindung mit Ihrem Windows-Server her, sofern noch nicht geschehen. Weitere Informationen finden Sie unter [Connect to Your Instance](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/EC2_GetStarted.html#ec2-connect-to-instance-windows) im *Amazon EC2 EC2-Benutzerhandbuch*.

1. Starten Sie den AWS CloudHSM Client-Daemon.

1. Kopieren Sie das signierte Zertifikat Ihres Webservers – dasjenige, das Sie am Ende [des vorherigen Schritts dieses Tutorials erstellt haben](#ssl-offload-windows-create-csr-and-certificate) – auf Ihren Windows-Server.

1. Verwenden Sie auf Ihrem Windows Server den [**certreq**Windows-Befehl](https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/certreq_1), um das signierte Zertifikat zu akzeptieren, wie im folgenden Beispiel. *IISCert.crt*Ersetzen Sie es durch den Namen der Datei, die das signierte Zertifikat Ihres Webservers enthält.

   ```
   C:\>certreq -accept IISCert.crt
           SDK Version: 2.03
   ```

1. Starten Sie auf Ihrem Windows-Server **Server Manager**.

1. Klicken Sie rechts oben im Dashboard **Server-Manager** auf **Extras**, **Internet Information Services (IIS)-Manager**.

1. Doppelklicken Sie im Fenster **Internet Information Services (IIS)-Manager** auf den Servernamen. Doppelklicken Sie dann auf **Websites**. Wählen Sie Ihre Website aus.

1. Klicken Sie auf **SSL-Einstellungen**. Klicken Sie dann rechts im Fenster auf **Bindungen**.

1. Klicken Sie im Fenster **Websitebindungen** auf **Hinzufügen**.

1. Wählen Sie für **Typ** die Option **HTTPS** aus. Wählen Sie für **SSL-Zertifikat** das HTTPS-Zertifikat aus, das Sie am Ende [des vorherigen Schritts dieser Anleitung](#ssl-offload-windows-create-csr-and-certificate) erstellt haben.
**Anmerkung**  
Wenn während dieser Zertifikat-Bindung ein Fehler auftritt, starten Sie Ihren Server neu und wiederholen Sie diesen Schritt.

1. Wählen Sie **OK** aus.

Nachdem Sie die Konfiguration Ihrer Website aktualisiert haben, gehen Sie zu [Schritt 4: Aktivieren von HTTPS-Datenverkehr und Verifizieren des Zertifikats](#ssl-offload-enable-traffic-and-verify-certificate-windows).

## Schritt 4: Aktivieren von HTTPS-Datenverkehr und Verifizieren des Zertifikats
<a name="ssl-offload-enable-traffic-and-verify-certificate-windows"></a>

Nachdem Sie Ihren Webserver für SSL/TLS Offload mit konfiguriert haben AWS CloudHSM, fügen Sie Ihre Webserver-Instanz einer Sicherheitsgruppe hinzu, die eingehenden HTTPS-Verkehr zulässt. Dadurch können Clients, wie z. B. Webbrowser, eine HTTPS-Verbindung mit Ihrem Webserver herstellen. Stellen Sie dann eine HTTPS-Verbindung zu Ihrem Webserver her und stellen Sie sicher, dass er das Zertifikat verwendet, mit dem Sie das SSL/TLS Offload konfiguriert haben. AWS CloudHSM

**Topics**
+ [Aktivieren von eingehenden HTTPS-Verbindungen](#ssl-offload-add-security-group-windows)
+ [Verifizieren, dass HTTPS das konfigurierte Zertifikat verwendet](#ssl-offload-verify-https-connection-windows)

### Aktivieren von eingehenden HTTPS-Verbindungen
<a name="ssl-offload-add-security-group-windows"></a>

Zum Herstellen einer Verbindung zu Ihrem Webserver von einem Client (z. B. ein Webbrowser) aus, erstellen Sie eine Sicherheitsgruppe, die eingehende HTTPS-Verbindungen zulässt. Insbesondere sollten eingehende TCP-Verbindungen auf Port 443 erlaubt werden. Weisen Sie diese Sicherheitsgruppe Ihrem Webserver zu. 

**So erstellen Sie eine Sicherheitsgruppe für HTTPS und weisen sie Ihrem Webserver zu**

1. Öffnen Sie die Amazon-EC2-Konsole unter [https://console.aws.amazon.com/ec2/](https://console.aws.amazon.com/ec2/).

1. Wählen Sie im Navigationsbereich **Sicherheitsgruppen** aus.

1. Wählen Sie **Sicherheitsgruppe erstellen**.

1. Führen Sie für **Sicherheitsgruppe erstellen** die folgenden Schritte aus:

   1. Geben Sie in das Feld **Sicherheitsgruppenname** einen Namen für die Sicherheitsgruppe ein, die Sie erstellen.

   1. (Optional) Geben Sie eine Beschreibung der Sicherheitsgruppe ein, die Sie erstellen.

   1. Wählen Sie für **VPC** die VPC aus, die Ihre Amazon-EC2-Instance enthält.

   1. Wählen Sie **Regel hinzufügen** aus.

   1. Wählen Sie im Drop-down-Fenster für **Typ** die Option **HTTPS** aus.

   1. Geben Sie für **Quelle** einen Quellspeicherort ein.

   1. Wählen Sie **Sicherheitsgruppe erstellen** aus.

1. Wählen Sie im Navigationsbereich **Instances** aus.

1. Aktivieren Sie das Kontrollkästchen neben Ihrer Webserver-Instance. 

1. Wählen Sie das Drop-down-Menü **Aktionen** oben auf der Seite. Wählen Sie **Sicherheit** und dann **Sicherheitsgruppen ändern** aus.

1. Wählen Sie unter **Zugeordnete Sicherheitsgruppen** das Suchfeld aus und wählen Sie die Sicherheitsgruppe, die Sie für HTTPS erstellt haben, aus. Wählen Sie dann **Sicherheitsgruppen hinzufügen** aus.

1. Wählen Sie **Speichern**. 

### Verifizieren, dass HTTPS das konfigurierte Zertifikat verwendet
<a name="ssl-offload-verify-https-connection-windows"></a>

Nachdem Sie den Webserver zu einer Sicherheitsgruppe hinzugefügt haben, können Sie überprüfen, ob der SSL/TLS Offload Ihr selbstsigniertes Zertifikat verwendet. Sie können dazu einen Webbrowser oder ein Tool wie [OpenSSL s\$1client](https://www.openssl.org/docs/manmaster/man1/s_client.html) nutzen.

**Um den SSL/TLS Offload mit einem Webbrowser zu überprüfen**

1. Verwenden Sie einen Web-Browser, um eine Verbindung zum Webserver unter Verwendung des öffentlichen DNS-Namen oder der IP-Adresse des Servers herzustellen. Stellen Sie sicher, dass die URL in die Adresszeile mit https:// beginnt. Beispiel, **https://ec2-52-14-212-67.us-east-2.compute.amazonaws.com/**.
**Tipp**  
Sie können einen DNS-Dienst wie Amazon Route 53 verwenden, um den Domainnamen Ihrer Website (z. B. https://www.example.com/) an Ihren Webserver weiterzuleiten. Weitere Informationen finden Sie unter [Routing des Datenverkehrs zu einer Amazon-EC2-Instance](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html) im *Entwicklerleitfaden zu Amazon Route 53* oder in der Dokumentation für Ihren DNS-Service.

1. Zeigen Sie das Webserverzertifikat mit Ihrem Webbrowser an. Weitere Informationen finden Sie hier:
   + Wenn Sie Mozilla Firefox nutzen, sehen Sie sich die Informationen auf der Mozilla Support-Website unter [Zertifikat anzeigen](https://support.mozilla.org/en-US/kb/secure-website-certificate#w_view-a-certificate) an.
   + Wenn Sie Google Chrome verwenden, sehen Sie sich die Informationen auf der „Google Tools für Web Developers“-Website unter [Sicherheitsprobleme verstehen](https://developers.google.com/web/tools/chrome-devtools/security) an.

   Andere Webbrowser unterstützen möglicherweise ähnliche Funktionen, über die Sie das Webserverzertifikat anzeigen können.

1. Stellen Sie sicher, dass es sich bei dem SSL/TLS Zertifikat um das Zertifikat handelt, für dessen Verwendung Sie Ihren Webserver konfiguriert haben.

**Um den SSL/TLS Offload mit OpenSSL s\$1client zu überprüfen**

1. Führen Sie den folgenden OpenSSL-Befehl aus, um mittels HTTPS eine Verbindung zu Ihrem Webserver herzustellen. *<server name>*Ersetzen Sie es durch den öffentlichen DNS-Namen oder die IP-Adresse Ihres Webservers. 

   ```
   openssl s_client -connect <server name>:443
   ```
**Tipp**  
Sie können einen DNS-Dienst wie Amazon Route 53 verwenden, um den Domainnamen Ihrer Website (z. B. https://www.example.com/) an Ihren Webserver weiterzuleiten. Weitere Informationen finden Sie unter [Routing des Datenverkehrs zu einer Amazon-EC2-Instance](https://docs.aws.amazon.com/Route53/latest/DeveloperGuide/routing-to-ec2-instance.html) im *Entwicklerleitfaden zu Amazon Route 53* oder in der Dokumentation für Ihren DNS-Service.

1. Stellen Sie sicher, dass es sich bei dem SSL/TLS Zertifikat um das Zertifikat handelt, für dessen Verwendung Sie Ihren Webserver konfiguriert haben.

Sie verfügen jetzt über eine mit HTTPS gesicherte Website. Der private Schlüssel für den Webserver wird in einem HSM in Ihrem AWS CloudHSM Cluster gespeichert. 

Informationen zum Hinzufügen eines Load Balancers finden Sie unter [Einen Load Balancer mit Elastic Load Balancing hinzufügen für AWS CloudHSM(optional)](third-offload-add-lb.md).