Verwaltung 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.

Verwaltung von Serverzertifikaten in IAM

Zum Aktivieren von HTTPS-Verbindungen zu Ihrer Website oder Anwendung in 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.

Wichtig

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 AWS-Ressourcen bereitstellen. 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 jedoch ein Zertifikat von einem externen Anbieter für die Verwendung in AWS anfordern. 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.

Serverzertifikat hochladen (AWS-API)

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 bei Serverzertifikaten.

  • 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 bei Serverzertifikaten.

Um ein Zertifikat mit der IAM-API hochzuladen, senden Sie eine UploadServerCertificate-Anforderung. 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. Ersetzen Sie ExampleCertificate durch einen Namen für Ihr hochgeladenes Zertifikat. Wenn Sie das Zertifikat markieren möchten, ersetzen Sie das ExampleKey- und ExampleValue-Tag-Schlüsselwertpaar 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 CloudFront hochladen, müssen Sie mithilfe der Option --path einen Pfad angeben. Der Pfad muss mit /cloudfront beginnen und mit einem Schrägstrich enden (z. B. /cloudfront/test/).

Um ein Zertifikat mit AWS Tools for Windows PowerShell hochzuladen, verwenden Sie Publish-IAMServerCertificate.

AWS-API-Operationen für Serverzertifikate

Verwenden Sie die folgenden Befehle, um Serverzertifikate anzuzeigen, mit Tags zu versehen, umzubenennen und zu löschen.

  • Verwenden Sie GetServerCertificate, um ein Zertifikat abzurufen. Diese Anfrage gibt das Zertifikat, die Zertifikatskette (sofern eine hochgeladen wurde) und Metadaten zum Zertifikat zurück.

    Anmerkung

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

  • Verwenden Sie Get-IAMServerCertificate, um ein Zertifikat abzurufen.

  • Verwenden Sie ListServerCertificates, um Ihre hochgeladenen Serverzertifikate aufzulisten. Die Anfrage gibt eine Liste zurück, die Metadaten zu jedem Zertifikat enthält.

  • Verwenden Sie Get-Get-IAMServerCertificates, um Ihre hochgeladenen Serverzertifikate aufzulisten.

  • Verwenden Sie TagServerCertificate, um ein vorhandenes Serverzertifikat mit Tags zu versehen.

  • Verwenden Sie UntagServerCertificate, um die Kennzeichnung eines Serverzertifikats aufzuheben.

  • Verwenden Sie UpdateServerCertificate, um ein Serverzertifikat umzubenennen oder seinen Pfad zu aktualisieren.

    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/

    Um ein Serverzertifikat mit AWS Tools for Windows PowerShell umzubenennen oder dessen Pfad zu aktualisieren, verwenden Sie Update-IAMServerCertificate.

  • Verwenden Sie DeleteServerCertificate, um ein Serverzertifikat zu löschen.

    Um ein Serverzertifikat mit AWS Tools for Windows PowerShell zu löschen, verwenden Sie Remove-IAMServerCertificate.

Fehlerbehebung bei Serverzertifikaten

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