Erstellen und Signieren eines X.509-Zertifikats - AWS Elastic Beanstalk

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

Sie können ein X.509-Zertifikat für Ihre Anwendung mit erstellen OpenSSL. 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.

Anmerkung

Sie müssen nur ein Zertifikat lokal erstellen, wenn Sie HTTPS in einer Einzel-Instance-Umgebung verwenden oder auf dem Backend neu verschlüsseln möchten mit einem selbstsignierten Zertifikat. Wenn Sie einen Domänennamen besitzen, können Sie in AWS ein Zertifikat erstellen und es über AWS Certificate Manager (ACM) kostenlos mit einer lastverteilten Umgebung verwenden. Weitere Informationen finden Sie unter Request a Certificate (Anfordern eines Zertifikats) im AWS Certificate ManagerBenutzerhandbuch.

Führen Sie openssl version in der Befehlszeile aus, um zu prüfen, ob Sie bereits OpenSSL installiert haben. Wenn nicht, können Sie den Quellcode mithilfe der Anweisungen im öffentlichen GitHub-Repository erstellen und installieren oder Ihren bevorzugten Package Manager verwenden. OpenSSL ist auch auf dem Linux-Image von Elastic Beanstalk installiert. Eine schnelle Alternative, eine Verbindung zu einer EC2-Instance in einer laufenden Umgebung herzustellen, ist also die Verwendung des EB CLI-eb ssh-Befehls:

~/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
Organisationseinheit 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 EC2-Instances verwendet werden.

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 Signierungsanforderung (csr.pem) zum Erstellen eines öffentlichen Zertifikats mit dem Namen public.crt verwendet, das 365 Tage gültig ist.

$ 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 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 oder die Instances in Ihrer Umgebung konfigurieren, um HTTPS zu beenden.