Vorbereiten von Zertifikaten in AWS Certificate Manager
Vor der Einrichtung eines benutzerdefinierten Domänennamens für eine API müssen Sie ein SSL-/TLS-Zertifikat in vorbereite AWS Certificate Manager. In den folgenden Schritten wird beschrieben, wie Sie dies tun. Weitere Informationen finden Sie im AWS Certificate Manager-Benutzerhandbuch.
Um ein ACM-Zertifikat mit einem Edge-optimierten benutzerdefinierten API Gateway-Domänennamen zu verwenden, müssen Sie das Zertifikat in der Region us-east-1
(USA Ost (Nord-Virginia)) anfordern oder importieren. Bei einem regionalen benutzerdefinierten API Gateway-Domänennamen müssen Sie das Zertifikat in derselben Region wie Ihre API anfordern oder importieren. Das Zertifikat muss von einer öffentlich vertrauenswürdigen Zertifizierungsstelle signiert sein und den benutzerdefinierten Domänennamen abdecken.
Registrieren Sie zunächst Ihre Internet-Domäne, zum Beispie,
. Sie können entweder Amazon Route 53 oder eine andere akkreditierte Domänenvergabestelle eines Drittanbieters verwenden. Eine Liste solcher Vergabestellen finden Sie unter Accredited Registrar Directory (Verzeichnis autorisierter Vergabestellen)example
.com
Führen Sie die folgenden Schritte aus, um ein SSL/TLS-Zertifikat für einen Domänennamen in ACM zu erstellen oder zu importieren:
So fordern Sie ein von ACM bereitgestelltes Zertifikat für einen Domänennamen an
-
Melden Sie sich an der AWS Certificate Manager-Konsole
an. -
Wählen Sie Request a certificate aus.
-
Geben Sie einen benutzerdefinierten Domänennamen für Ihre API ein, z. B.
api.example.com
unter Domain name (Domänenname). -
Wählen Sie optional Add another name to this certificate.
-
Wählen Sie Review and request.
-
Wählen Sie Confirm and request.
-
Damit eine Anforderung gültig ist, muss der registrierte Besitzer einer Internetdomäne der Anforderung vor der Ausstellung des Zertifikats durch ACM zustimmen.
So importieren Sie ein Zertifikat für einen Domänennamen in ACM
-
Fordern Sie bei einer Zertifizierungsstelle ein PEM-kodiertes SSL-/TLS-Zertifikat für den benutzerdefinierten Domänennamen an. Eine unvollständige Liste solcher Zertifizierungsstellen finden Sie unter Mozilla Included CA List
-
Erstellen Sie einen privaten Schlüssel für das Zertifikat und speichern Sie die Ausgabe in einer Datei; verwenden Sie dazu das OpenSSL
-Toolkit auf der OpenSSL-Website: openssl genrsa -out
private-key-file
2048Anmerkung Amazon API Gateway nutzt Amazon CloudFront, um Zertifikate für benutzerdefinierte Domänennamen zu unterstützen. Die Anforderungen und Einschränkungen eines SSL/TLS-Zertifikats für einen benutzerdefinierten Domänennamen werden von CloudFront vorgegeben. Beispielsweise beträgt die maximale Länge des öffentlichen Schlüssels 2048 und die Länge des privaten Schlüssels 1024, 2048 und 4096. Die Länge des öffentlichen Schlüssels wird von der ausgewählten Zertifizierungsstelle bestimmt. Wenden Sie sich an Ihre Zertifizierungsstelle, um Schlüssel zurückzugeben, deren Länge vom Standard abweicht. Weitere Informationen finden Sie unter Sicherer Zugriff auf Ihre Objekte und Erstellen signierter URLs und signierter Cookies.
-
Erstellen Sie mithilfe von OpenSSL eine Zertifikatssignierungsanforderung (Certificate Signing Request, CSR) mit dem zuvor erstellten privaten Schlüssel:
openssl req -new -sha256 -key
private-key-file
-outCSR-file
-
Senden Sie die Zertifikatssignierungsanforderung an die Zertifizierungsstelle und speichern Sie das Zertifikat.
-
Laden Sie die Zertifikatkette bei der Zertifizierungsstelle herunter.
Anmerkung Wenn Ihnen der private Schlüssel auf andere Art bereitgestellt wird und er verschlüsselt ist, können Sie ihn mit dem folgenden Befehl entschlüsseln, bevor Sie ihn zur Einrichtung eines benutzerdefinierten Domänennamens an API Gateway senden.
openssl pkcs8 -topk8 -inform pem -in
MyEncryptedKey.pem
-outform pem -nocrypt -outMyDecryptedKey.pem
-
-
Laden Sie das Zertifikat in AWS Certificate Manager hoch:
-
Melden Sie sich an der AWS Certificate Manager-Konsole
an. -
Wählen Sie Import a certificate.
-
Geben oder fügen Sie für Certificate body (Zertifikatstext) den Text des PEM-formatierten Serverzertifikats ein, das Sie von Ihrer Zertifizierungsstelle erhalten haben. Im Folgenden sehen Sie ein verkürztes Beispiel eines solchen Zertifikats.
-----BEGIN CERTIFICATE----- EXAMPLECA+KgAwIBAgIQJ1XxJ8Pl++gOfQtj0IBoqDANBgkqhkiG9w0BAQUFADBB ... az8Cg1aicxLBQ7EaWIhhgEXAMPLE -----END CERTIFICATE-----
-
Geben oder fügen Sie für Certificate private key (Privater Schlüssel des Zertifikats) den privaten Schlüssel Ihres PEM-formatierten Zertifikats ein. Im Folgenden sehen Sie ein verkürztes Beispiel eines solchen Schlüssels.
-----BEGIN RSA PRIVATE KEY----- EXAMPLEBAAKCAQEA2Qb3LDHD7StY7Wj6U2/opV6Xu37qUCCkeDWhwpZMYJ9/nETO ... 1qGvJ3u04vdnzaYN5WoyN5LFckrlA71+CszD1CGSqbVDWEXAMPLE -----END RSA PRIVATE KEY-----
-
Geben oder fügen Sie unter Certificate chain (Zertifikatkette) nacheinander und ohne Leerzeilen die PEM-formatierten Zwischenzertifikate und optional das Stammzertifikat ein. Wenn Sie das Stammzertifikat eingeben, muss die Zertifikatkette mit Zwischenzertifikaten beginnen und mit dem Stammzertifikat enden. Verwenden Sie die von der Zertifizierungsstelle bereitgestellten Zwischenzertifikate. Verwenden Sie keine Zwischenzertifikate außerhalb der Vertrauenskette. Das folgende Beispiel zeigt ein verkürztes Beispiel.
-----BEGIN CERTIFICATE----- EXAMPLECA4ugAwIBAgIQWrYdrB5NogYUx1U9Pamy3DANBgkqhkiG9w0BAQUFADCB ... 8/ifBlIK3se2e4/hEfcEejX/arxbx1BJCHBvlEPNnsdw8EXAMPLE -----END CERTIFICATE-----
Im Folgenden ein weiteres Beispiel.
-----BEGIN CERTIFICATE-----
Intermediate certificate 2
-----END CERTIFICATE----- -----BEGIN CERTIFICATE-----Intermediate certificate 1
-----END CERTIFICATE----- -----BEGIN CERTIFICATE-----Optional: Root certificate
-----END CERTIFICATE----- -
Wählen Sie Review and import.
-
Wenn das Zertifikat erfolgreich erstellt oder importiert wurden, notieren Sie seinen ARN. Diesen benötigen Sie für die Einrichtung des benutzerdefinierten Domänennamens.