Serverzertifikate verwalten 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.

Serverzertifikate verwalten in IAM

Um HTTPS Verbindungen zu Ihrer Website oder Anwendung zu ermöglichen 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, dass Sie es für die Bereitstellung, Verwaltung und Bereitstellung Ihrer Serverzertifikate verwendenACM. In Regionen, die nicht unterstützt werden, müssen Sie es IAM als Zertifikatsmanager verwenden. Informationen darüber, welche Regionen dies ACM unterstützt, finden Sie unter AWS Certificate Manager Endpunkte und Kontingente im. Allgemeine AWS-Referenz

Wichtig

ACMist das bevorzugte Tool für die Bereitstellung, Verwaltung und Bereitstellung Ihrer Serverzertifikate. Mit können ACM Sie ein Zertifikat anfordern oder ein vorhandenes ACM oder externes Zertifikat für AWS Ressourcen bereitstellen. ACMDie von bereitgestellten Zertifikate sind kostenlos und werden automatisch verlängert. In einer unterstützten Region können Sie ACM Serverzertifikate über die Konsole oder programmgesteuert verwalten. Weitere Informationen zur Verwendung ACM finden Sie im AWS Certificate Manager Benutzerhandbuch. Weitere Informationen zum Anfordern eines ACM Zertifikats finden Sie unter Anfordern eines öffentlichen Zertifikats oder Anfordern eines privaten Zertifikats im AWS Certificate Manager Benutzerhandbuch. Weitere Informationen zum Importieren von Zertifikaten von Drittanbietern in ACM finden Sie unter Zertifikate importieren im AWS Certificate Manager Benutzerhandbuch.

Verwenden Sie IAM ihn nur dann als Zertifikatsmanager, wenn Sie HTTPS Verbindungen in einer Region unterstützen müssen, die von nicht unterstützt wird ACM. IAMverschlüsselt Ihre privaten Schlüssel sicher und speichert die verschlüsselte Version im IAM SSL Zertifikatsspeicher. IAMunterstützt die Bereitstellung von Serverzertifikaten in allen Regionen, aber Sie müssen Ihr Zertifikat von einem externen Anbieter beziehen, damit AWS Sie es verwenden können. Sie können kein ACM Zertifikat auf hochladenIAM. Darüber hinaus können Sie Ihre Zertifikate nicht von der IAM Konsole aus verwalten.

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

Laden Sie ein Serverzertifikat hoch ()AWS API

Um ein Serverzertifikat hochzuladenIAM, müssen Sie das Zertifikat und den zugehörigen privaten Schlüssel angeben. 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 Problembehandlung bei Serverzertifikaten.

  • Das Zertifikat, der private Schlüssel und die Zertifikatskette müssen alle PEM -codiert sein. Hilfe zur Konvertierung dieser Elemente in ein PEM Format finden Sie unter. Problembehandlung bei Serverzertifikaten

Um das IAMAPIzum 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 wird in einer Datei mit dem Namen gespeichert. Certificate.pem

  • Die mit PEM -kodierte Zertifikatskette wird in einer Datei mit dem Namen gespeichert. CertificateChain.pem

  • Der PEM -kodierte, unverschlüsselte private Schlüssel wird in einer Datei mit dem Namen gespeichert. PrivateKey.pem

  • (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 ExampleCertificate mit einem Namen für Ihr hochgeladenes Zertifikat. Wenn Sie das Zertifikat taggen möchten, ersetzen Sie ExampleKey and ExampleValue kennzeichnen Sie ein Schlüssel-Wert-Paar mit Ihren eigenen Werten. 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 obige Befehl erfolgreich ist, gibt er Metadaten über das hochgeladene Zertifikat zurück, einschließlich seines Amazon-Ressourcennamens (ARN), seines Anzeigenamens, seiner Kennung (ID), seines Ablaufdatums, seiner Tags und mehr.

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 Publish- IAMServerCertificate.

AWS APIOperationen für Serverzertifikate

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

  • Wird verwendet GetServerCertificate, um ein Zertifikat abzurufen. Diese Anforderung gibt das Zertifikat, die Zertifikatskette (falls eine hochgeladen wurde) und Metadaten zum Zertifikat zurück.

    Anmerkung

    Sie können einen privaten Schlüssel nicht herunterladen oder abrufen, IAM nachdem Sie ihn hochgeladen haben.

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

  • Dient ListServerCertificateszum Auflisten Ihrer hochgeladenen Serverzertifikate. Die Anfrage gibt eine Liste zurück, die Metadaten zu jedem Zertifikat enthält.

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

  • Wird verwendet TagServerCertificate, um ein vorhandenes Serverzertifikat zu kennzeichnen.

  • Wird verwendet UntagServerCertificate, um die Markierung eines Serverzertifikats aufzuheben.

  • Wird verwendet 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/

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

  • Wird verwendet DeleteServerCertificate, um ein Serverzertifikat zu löschen.

    Verwenden Sie Remove-, AWS Tools for Windows PowerShell um ein Serverzertifikat zu löschenIAMServerCertificate.

Problembehandlung bei Serverzertifikaten

Bevor Sie ein Zertifikat hochladen könnenIAM, müssen Sie sicherstellen, dass das Zertifikat, der private Schlüssel und die Zertifikatskette alle 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 -codiertes Zertifikat
-----BEGIN CERTIFICATE----- Base64-encoded certificate -----END CERTIFICATE-----
Beispiel für einen PEM verschlüsselten, unverschlüsselten privaten Schlüssel
-----BEGIN RSA PRIVATE KEY----- Base64-encoded private key -----END RSA PRIVATE KEY-----
Beispiel für PEM eine -kodierte Zertifikatskette

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 das richtige Format für den Upload habenIAM, können Sie sie mit Open in das richtige Format SSL konvertieren.

Um ein Zertifikat oder eine Zertifikatskette von DER zu zu zu konvertieren PEM

Verwenden Sie den Befehl Open SSL x509 wie im folgenden Beispiel. Ersetzen Sie es im folgenden Beispielbefehl Certificate.der durch den Namen der Datei, die Ihr DER -codiertes Zertifikat enthält. Certificate.pemErsetzen Sie es durch den bevorzugten Namen der Ausgabedatei, die das PEM -kodierte Zertifikat enthalten soll.

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

 

Um einen privaten Schlüssel von zu zu umzuwandeln DER PEM

Verwenden Sie den Befehl Open SSL rsa wie im folgenden Beispiel. Ersetzen Sie ihn im folgenden Beispielbefehl PrivateKey.der durch den Namen der Datei, die Ihren DER -codierten privaten Schlüssel enthält. PrivateKey.pemErsetzen Sie ihn durch den bevorzugten 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 Open SSL 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. PrivateKey.pemErsetzen Sie ihn durch den bevorzugten Namen der Ausgabedatei, die den PEM -codierten unverschlüsselten privaten Schlüssel enthalten soll.

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

 

Um ein Zertifikatspaket von PKCS #12 () zu konvertieren PFX PEM

Verwenden Sie den Befehl Open SSL pkcs12 wie im folgenden Beispiel. Ersetzen Sie es im folgenden Beispielbefehl CertificateBundle.p12 durch den Namen der Datei, die Ihr PKCS #12 -codiertes Zertifikatspaket enthält. CertificateBundle.pemErsetzen Sie es durch den bevorzugten Namen der Ausgabedatei, die das PEM -kodierte Zertifikatspaket enthalten soll.

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

 

Um ein Zertifikatspaket von PKCS #7 zu konvertieren PEM

Verwenden Sie den Befehl Open SSL pkcs7 wie im folgenden Beispiel. Ersetzen Sie es im folgenden Beispielbefehl CertificateBundle.p7b durch den Namen der Datei, die Ihr PKCS #7 -codiertes Zertifikatspaket enthält. CertificateBundle.pemErsetzen Sie es durch den bevorzugten Namen der Ausgabedatei, die das PEM -kodierte Zertifikatspaket enthalten soll.

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