

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.

# Erstellen und Signieren eines X.509-Zertifikats
<a name="configuring-https-ssl"></a>

Sie können ein X.509-Zertifikat für Ihre Anwendung mit `OpenSSL` erstellen. OpenSSL ist eine Standard-Open-Source-Bibliothek, die eine Vielzahl von kryptografischen Funktionen unterstützt, einschließlich der Erstellung und Signierung von x509-Zertifikaten. Weitere Informationen zu OpenSSL finden Sie unter [www.openssl.org](https://www.openssl.org/).

**Anmerkung**  
Sie müssen nur ein Zertifikat lokal erstellen, wenn Sie [HTTPS in einer Einzel-Instance-Umgebung verwenden](https-singleinstance.md) oder [auf dem Backend neu verschlüsseln](configuring-https-endtoend.md) möchten mit einem selbstsignierten Zertifikat. Wenn Sie einen Domainnamen besitzen, können Sie mithilfe von AWS Certificate Manager (ACM) kostenlos ein Zertifikat in einer Umgebung mit Lastenausgleich erstellen AWS und verwenden. Weitere Informationen finden Sie unter [Request a Certificate (Anfordern eines Zertifikats)](https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request.html) im *AWS Certificate Manager Benutzerhandbuch*.

Führen Sie `openssl version` in der Befehlszeile aus, um zu prüfen, ob Sie bereits OpenSSL installiert haben. Wenn Sie dies nicht tun, können Sie den Quellcode anhand der Anweisungen im [öffentlichen GitHub Repository](https://github.com/openssl/openssl) erstellen und installieren oder Ihren bevorzugten Paketmanager verwenden. OpenSSL ist auch auf den Linux-Images von Elastic Beanstalk installiert. Eine schnelle Alternative besteht also darin, mithilfe des Befehls der [EB-CLI](eb-cli3.md) eine Verbindung zu einer EC2 Instance in einer laufenden Umgebung herzustellen: **eb ssh**

```
~/eb$ eb ssh
[ec2-user@ip-255-55-55-255 ~]$ openssl version
OpenSSL 1.0.1k-fips 8 Jan 2015
```

Sie müssen einen privaten RSA-Schlüssel erstellen, um Ihre Zertifikatsignieranforderung zu erstellen. Zum Erstellen Ihres privaten Schlüssels verwenden Sie den Befehl **openssl genrsa**:

```
[ec2-user@ip-255-55-55-255 ~]$ openssl genrsa 2048 > privatekey.pem
Generating RSA private key, 2048 bit long modulus
.................................................................................................................................+++
...............+++
e is 65537 (0x10001)
```

*privatekey.pem*  
Der Name der Datei, in der Sie den privaten Schlüssel speichern möchten. Normalerweise zeigt der Befehl **openssl genrsa** den Inhalt des privaten Schlüssels auf dem Bildschirm an; dieser Befehl übergibt die Ausgabe jedoch in eine Datei. Wählen Sie einen beliebigen Dateinamen und speichern Sie die Datei an einem sicheren Ort, sodass Sie sie später abrufen können. Wenn Sie den privaten Schlüssel verlieren, können Sie das Zertifikat nicht mehr verwenden.

Eine CSR ist eine Datei, die Sie an eine Zertifizierungsstelle senden, um ein digitales Serverzertifikat zu erhalten. Zum Erstellen einer CSR verwenden Sie den Befehl **openssl req**:

```
$ openssl req -new -key privatekey.pem -out csr.pem
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.
```

Geben Sie die erforderlichen Informationen ein und drücken Sie **Enter (Eingabetaste)**. Die folgende Tabelle beschreibt und enthält Beispiele für jedes Feld.


****  

| Name | Beschreibung | Beispiel | 
| --- | --- | --- | 
| Ländername | Die zweistellige ISO-Abkürzung für Ihr Land | US = USA | 
| Bundesstaat oder Provinz | Der Name des Bundesstaats oder der Provinz, in dem bzw. der sich Ihre Organisation befindet. Dieser Name darf nicht abgekürzt werden. | Washington | 
| Locality Name | Der Name der Stadt, in der sich Ihre Organisation befindet. | Seattle | 
| Name der Organisation | Der vollständige, offizielle Name Ihrer Organisation. Kürzen Sie den Namen Ihrer Organisation nicht ab. | Beispielunternehmen | 
| Organisatorische Einheit | Optional, für weitere Informationen zu Ihrer Organisation. | Marketing | 
| Common Name | Der vollqualifizierte Domänenname für Ihre Website. Dieser muss mit dem Domänennamen übereinstimmen, den Benutzer sehen, wenn sie Ihre Website besuchen. Andernfalls werden Zertifikatfehler angezeigt. | www.example.com | 
| E-Mail-Adresse | Die E-Mail-Adresse des Websiteadministrators. | someone@example.com | 

Sie können die Signierungsanforderung zur Signierung an einen Dritten weitergeben oder sie für Entwicklung und Tests selbst signieren. Selbstsignierte Zertifikate können auch für Backend-HTTPS zwischen einem Load Balancer und Instanzen verwendet werden. EC2 

Zum Signieren des Zertifikats verwenden Sie den Befehl **openssl x509**. Im folgenden Beispiel werden der private Schlüssel aus dem vorherigen Schritt (*privatekey.pem*) und die Signaturanforderung (*csr.pem*) verwendet, um ein öffentliches Zertifikat mit dem Namen zu erstellen*public.crt*, das tagelang gültig ist. *365*

```
$ openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out public.crt
Signature ok
subject=/C=us/ST=washington/L=seattle/O=example corporation/OU=marketing/CN=www.example.com/emailAddress=someone@example.com
Getting Private key
```

Behalten Sie den privaten Schlüssel und das öffentliche Zertifikat für eine spätere Nutzung. Sie können die Signierungsanforderung verwerfen. [Speichern Sie den privaten Schlüssel immer an einem sicheren Ort](https-storingprivatekeys.md) und vermeiden Sie es, ihn zu Ihrem Quellcode hinzuzufügen.

Zum Verwenden des Zertifikats mit der Windows Server-Plattform müssen Sie es in ein PFX-Format konvertieren. Verwenden Sie den folgenden Befehl zum Erstellen eines PFX-Zertifikats aus dem privaten Schlüssel und den öffentlichen Zertifikatsdateien:

```
$ openssl pkcs12 -export -out example.com.pfx -inkey privatekey.pem -in public.crt
Enter Export Password: password
Verifying - Enter Export Password: password
```

Wenn Sie ein Zertifikat haben, können Sie es für die Verwendung mit einem Load Balancer [in IAM hochladen](configuring-https-ssl-upload.md) oder [die Instances in Ihrer Umgebung konfigurieren, um HTTPS zu beenden](https-singleinstance.md).