Verwalten von Serverzertifikaten in IAM - AWS Identitäts- und Zugriffsverwaltung

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.

Verwalten von Serverzertifikaten in IAM

Um HTTPS-Verbindungen zu Ihrer Website oder Anwendung zu aktivieren AWS, benötigen Sie ein SSL/TLS-Serverzertifikat. Für Zertifikate in einer Region, die von AWS Certificate Manager (ACM) unterstützt wird, empfehlen wir die Verwendung von für Bereitstellung und Verwaltung Ihrer Server-Zertifikate. In nicht unterstützten Regionen müssen Sie IAM für die Verwaltung der Zertifikate verwenden. Informationen darüber, welche Regionen ACM unterstützt, finden Sie unter AWS Certificate Manager -Endpunkte und -Kontingente im Allgemeine AWS-Referenz.

Für die Bereitstellung und Verwaltung von Serverzertifikaten empfehlen wir ACM zu verwenden. Mit ACM können Sie ein Zertifikat anfordern oder ein vorhandenes ACM- oder externes Zertifikat für Ressourcen bereitstellen. AWS Die von ACM bereitgestellten Zertifikate sind kostenlos und werden automatisch verlängert. In einer unterstützten Region können Sie mit ACM Serverzertifikate über die Konsole oder programmgesteuert verwalten. Weitere Informationen zu ACM finden Sie im AWS Certificate Manager -Leitfaden. Weitere Informationen zum Anfordern eines -Zertifikats finden Sie unter Anfordern eines öffentlichen Zertifikats oder Anfordern eines privaten Zertifikats AWS Certificate Manager im . Weitere Informationen zum Importieren von Zertifikaten von Drittanbietern in ACM finden Sie unter Importieren von Zertifikaten im AWS Certificate Manager -Benutzerhandbuch.

Verwenden Sie IAM als Zertifikatmanager nur für die Unterstützung von HTTPS-Verbindungen in einer Region, die nicht von ACM unterstützt wird. IAM bietet eine sichere Verschlüsselungsmethode für Ihre privaten Schlüssel und speichert die verschlüsselte Version in einem SSL-Zertifikatspeicher in IAM. IAM unterstützt die Bereitstellung von Serverzertifikaten in allen Regionen, Sie müssen Ihr Zertifikat jedoch von einem externen Anbieter beziehen, damit Sie es verwenden können. AWS ACM-Zertifikate können nicht in IAM hochgeladen werden. Außerdem ist es nicht möglich, Zertifikate auf der IAM-Konsole zu verwalten.

Weitere Informationen zum Hochladen von Drittanbieterzertifikaten in IAM finden Sie in den folgenden Themen.

Hochladen eines Serverzertifikats (API)AWS

Um ein Serverzertifikat in IAM hochzuladen, müssen Sie das Zertifikat bereitstellen und dessen privaten Schlüssel verwalten. Wenn das Zertifikat nicht selbstsigniert ist, müssen Sie auch eine Zertifikatskette bereitstellen. (Zum Hochladen eines selbstsignierten Zertifikats benötigen Sie keine Zertifikatskette.) Bevor Sie ein Zertifikat hochladen, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:

  • Das Zertifikat muss zum Zeitpunkt des Hochladens gültig sein. Sie können ein Zertifikat nicht vor Beginn des Gültigkeitszeitraums (das Datum NotBefore des Zertifikats) oder nach Ablauf der Gültigkeit (das Datum NotAfter des Zertifikats) hochladen.

  • Der private Schlüssel muss unverschlüsselt sein. Sie können keinen privaten Schlüssel hochladen, der durch ein Passwort oder eine Passphrase geschützt ist. Informationen zum Entschlüsseln von verschlüsselten privaten Schlüsseln finden Sie unter Fehlerbehebung.

  • Das Zertifikat, der private Schlüssel und die Zertifikatskette müssen PEM-kodiert sein. Informationen zum Konvertieren dieser Elemente ins PEM-Format finden Sie unter Fehlerbehebung.

Um die IAM-API zum Hochladen eines Zertifikats zu verwenden, senden Sie eine UploadServerCertificateAnfrage. Im folgenden Beispiel wird gezeigt, wie Sie dies mit dem AWS Command Line Interface (AWS CLI) durchführen. In diesem Beispiel wird Folgendes angenommen:

  • Das PEM-kodierte Zertifikat ist in einer Datei mit dem Namen Certificate.pem gespeichert.

  • Das PEM-kodierte Zertifikatkette ist in einer Datei mit dem Namen CertificateChain.pem gespeichert.

  • Das PEM-kodierte Zertifikat ist in einer Datei mit dem Namen PrivateKey.pem gespeichert.

  • (Optional) Sie möchten das Serverzertifikat mit einem Schlüsselwertpaar kennzeichnen. Sie können beispielsweise den Tag-Schlüssel Department und den Tag-Wert Engineering hinzufügen, um Ihnen bei der Identifizierung und Organisation Ihrer Zertifikate zu helfen.

Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie diese Dateinamen durch Ihre eigenen. ExampleCertificateErsetzen Sie es durch einen Namen für Ihr hochgeladenes Zertifikat. Wenn Sie das Zertifikat taggen möchten, ersetzen Sie das Schlüssel-Wert-Paar ExampleKeyund das ExampleValueTag-Schlüssel-Wert-Paar durch Ihre eigenen Werte. Geben Sie den Befehl durchgehend in einer Zeile ein. Das folgende Beispiel enthält Zeilenumbrüche und zusätzliche Leerzeichen, um das Lesen zu vereinfachen.

aws iam upload-server-certificate --server-certificate-name ExampleCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, werden Metadaten zum hochgeladenen Zertifikat einschließlich dessen Amazon-Ressourcennamen (ARN), dem Anzeigenamen, der ID, dem Ablaufdatum, Tags usw. zurückgegeben.

Anmerkung

Wenn Sie ein Serverzertifikat zur Verwendung mit Amazon hochladen CloudFront, müssen Sie mit der --path Option einen Pfad angeben. Der Pfad muss mit /cloudfront beginnen und mit einem Schrägstrich enden (z. B. /cloudfront/test/).

Um das zum Hochladen eines Zertifikats AWS Tools for Windows PowerShell zu verwenden, verwenden Sie ServerCertificatePublish-IAM.

Abrufen eines Serverzertifikats (API)AWS

Um die IAM-API zum Abrufen eines Zertifikats zu verwenden, senden Sie eine GetServerCertificateAnfrage. Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können. ExampleCertificateErsetzen Sie es durch den Namen des abzurufenden Zertifikats.

aws iam get-server-certificate --server-certificate-name ExampleCertificate

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, werden das Zertifikat, die Zertifikatskette (wenn eine hochgeladen wurde) sowie Metadaten zum Zertifikat zurückgegeben.

Anmerkung

Sie können private Schlüssel nach dem Hochladen nicht mehr aus IAM herunterladen oder abrufen.

Um das zum Abrufen eines Zertifikats AWS Tools for Windows PowerShell zu verwenden, verwenden Sie Get-IAM ServerCertificate.

Serverzertifikate auflisten (API)AWS

Um die IAM-API zum Auflisten Ihrer hochgeladenen Serverzertifikate zu verwenden, senden Sie eine ListServerCertificatesAnfrage. Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

aws iam list-server-certificates

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, wird eine Liste mit Metadaten zu den einzelnen Zertifikaten zurückgegeben.

Verwenden Sie ServerCertificatesGet-IAM AWS Tools for Windows PowerShell, um Ihre hochgeladenen Serverzertifikate aufzulisten.

Markierung und Entfernung der Markierung von Serverzertifikaten (AWS -API)

Sie können Ihren IAM-Ressourcen Tags hinzufügen, um den Zugriff auf sie zu organisieren und zu kontrollieren. Um die IAM-API zum Markieren eines vorhandenen Serverzertifikats zu verwenden, senden Sie eine Anfrage. TagServerCertificate Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

aws iam tag-server-certificate --server-certificate-name ExampleCertificate --tags '{"Key": "ExampleKey", "Value": "ExampleValue"}'

Wenn der vorhergehende Befehl erfolgreich ausgeführt wurde, wird keine Ausgabe zurückgegeben.

Um die IAM-API zum Aufheben der Markierung eines Serverzertifikats zu verwenden, senden Sie eine Anfrage. UntagServerCertificate Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

aws iam untag-server-certificate --server-certificate-name ExampleCertificate --tag-keys ExampleKeyName

Wenn der vorhergehende Befehl erfolgreich ausgeführt wurde, wird keine Ausgabe zurückgegeben.

Umbenennen eines Serverzertifikats oder Aktualisierung seines Pfads (API)AWS

Um mit der IAM-API ein Serverzertifikat umzubenennen oder seinen Pfad zu aktualisieren, senden Sie eine UpdateServerCertificateAnfrage. Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie den alten und neuen Zertifikatnamen und den Zertifikatspfad und geben Sie den Befehl durchgehend in einer Zeile ein. Das folgende Beispiel enthält Zeilenumbrüche und zusätzliche Leerzeichen, um das Lesen zu vereinfachen.

aws iam update-server-certificate --server-certificate-name ExampleCertificate --new-server-certificate-name CloudFrontCertificate --new-path /cloudfront/

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, erfolgt keine Ausgabe.

Verwenden Sie Update-IAM AWS Tools for Windows PowerShell , um ein Serverzertifikat umzubenennen oder seinen Pfad zu aktualisieren. ServerCertificate

Löschen eines Serverzertifikats (API)AWS

Um die IAM-API zum Löschen eines Serverzertifikats zu verwenden, senden Sie eine DeleteServerCertificateAnfrage. Das folgende Beispiel zeigt, wie Sie dies mit dem AWS CLI tun können.

Um den folgenden Beispielbefehl zu verwenden, ExampleCertificateersetzen Sie ihn durch den Namen des zu löschenden Zertifikats.

aws iam delete-server-certificate --server-certificate-name ExampleCertificate

Wenn der vorherige Befehl erfolgreich ausgeführt wurde, erfolgt keine Ausgabe.

Um das zum Löschen eines Serverzertifikats AWS Tools for Windows PowerShell zu verwenden, verwenden Sie Remove-IAM. ServerCertificate

Fehlerbehebung

Bevor Sie ein Zertifikat in IAM hochladen können, müssen Sie sicherstellen, dass das Zertifikat, der private Schlüssel und die Zertifikatskette PEM-kodiert sind. Sie müssen außerdem dafür sorgen, dass der private Schlüssel nicht verschlüsselt ist. Sehen Sie sich die folgenden Beispiele an.

Beispiel für ein PEM-kodiertes Zertifikat
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
Beispiel eines PEM-kodierten, unverschlüsselten privaten Schlüssels
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
Beispiel PEM-kodierte Zertifikatkette

Eine Zertifikatkette enthält ein oder mehrere Zertifikate. Sie können Ihre Zertifikatdateien mit einem Texteditor, dem Kopierbefehl in Windows oder dem cat-Befehl in Linux zu einer Kette verknüpfen. Wenn Sie mehrere Zertifikate einbeziehen, muss jedes Zertifikat das vorhergehende Zertifikat zertifizieren. Dazu müssen Sie die Zertifikate verketten, darunter das Zertifikat der Stammzertifizierungsstelle als letztes.

Das folgende Beispiel enthält drei Zertifikate, Ihre Zertifikatkette enthält möglicherweise jedoch mehr oder weniger Zertifikate.

-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE----- -----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----

Wenn diese Elemente nicht im richtigen Format zum Hochladen in IAM vorliegen, können Sie sie mit OpenSSL ins richtige Format konvertieren.

So konvertieren Sie ein Zertifikat oder eine Zertifikatskette von DER zu PEM

Verwenden Sie den Befehl OpenSSL x509 wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl Certificate.der durch den Namen der Datei, die das DER-kodierte Zertifikat enthält. Ersetzen Sie Certificate.pem durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat enthalten soll.

openssl x509 -inform DER -in Certificate.der -outform PEM -out Certificate.pem

 

So konvertieren Sie einen privaten Schlüssel von DER zu PEM

Verwenden Sie den Befehl OpenSSL rsa wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl PrivateKey.der durch den Namen der Datei, die den DER-kodierten privaten Schlüssel enthält. Ersetzen Sie PrivateKey.pem durch den gewünschten Namen der Ausgabedatei, die den PEM-codierten privaten Schlüssel enthalten soll.

openssl rsa -inform DER -in PrivateKey.der -outform PEM -out PrivateKey.pem

 

So entschlüsseln Sie einen verschlüsselten privaten Schlüssel (Entfernen eines Passworts oder einer Passphrase)

Verwenden Sie den Befehl OpenSSL rsa wie im folgenden Beispiel. Um den folgenden Beispielbefehl zu verwenden, ersetzen Sie EncryptedPrivateKey.pem durch den Namen der Datei, die den verschlüsselten privaten Schlüssel enthält. Ersetzen Sie PrivateKey.pem durch den gewünschten Namen der Ausgabedatei, die den PEM-codierten unverschlüsselten privaten Schlüssel enthalten soll.

openssl rsa -in EncryptedPrivateKey.pem -out PrivateKey.pem

 

So konvertieren Sie ein Zertifikat-Bundle von PKCS#12 (PFX) zu PEM

Verwenden Sie den Befehl OpenSSL pkcs12 wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl CertificateBundle.p12 durch den Namen der Datei, die das PKCS#12-kodierte Zertifikat-Bundle enthält. Ersetzen Sie CertificateBundle.pem durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat-Bundle enthalten soll.

openssl pkcs12 -in CertificateBundle.p12 -out CertificateBundle.pem -nodes

 

So konvertieren Sie ein Zertifikat-Bundle von PKCS#7 zu PEM

Verwenden Sie den Befehl OpenSSL pkcs7 wie im folgenden Beispiel. Ersetzen Sie im folgenden Beispielbefehl CertificateBundle.p7b durch den Namen der Datei, die das PKCS#7-kodierte Zertifikat-Bundle enthält. Ersetzen Sie CertificateBundle.pem durch den gewünschten Namen der Ausgabedatei, die das PEM-codierte Zertifikat-Bundle enthalten soll.

openssl pkcs7 -in CertificateBundle.p7b -print_certs -out CertificateBundle.pem