Wie lade ich ein SSL-Zertifikat hoch und importiere es in IAM?

Lesedauer: 3 Minute
0

Ich möchte ein SSL-Zertifikat in AWS Identity and Access Management (IAM, Identitäts- und Zugriffsmanagement) hochladen und importieren.

Kurzbeschreibung

Es ist eine bewährte Methode, SSL-Zertifikate in den AWS Certificate Manager (ACM) hochzuladen. Wenn du Zertifikatsalgorithmen und Schlüsselgrößen verwendest, die derzeit nicht von ACM oder den zugehörigen AWS-Ressourcen unterstützt werden, kannst du über die AWS-Befehlszeilenschnittstelle (AWS CLI) auch ein SSL-Zertifikat auf IAM hochladen.

Bevor du ein SSL-Zertifikat in IAM importieren kannst:

  • Das Zertifikat muss zum Zeitpunkt des Uploads gültig sein. Du kannst ein Zertifikat nicht hochladen, bevor seine Gültigkeitsdauer beginnt oder nachdem es abgelaufen ist.
  • Das Zertifikat, der private Schlüssel und die Zertifikatskette müssen PEM-codiert sein. Weitere Informationen findest du im Abschnitt Beispiel für eine PEM-kodierte Zertifikatskette unter Arbeiten mit Serverzertifikaten.

Nachdem du bestätigt hast, dass dein Zertifikat die Kriterien erfüllt, stelle sicher, dass die Zertifikatskette in der richtigen Reihenfolge ist, und lade dann das Zertifikat hoch.

Lösung

Vergewissere dich, dass die Zertifikatskette in der richtigen Reihenfolge ist

Hinweis: Wenn du beim Ausführen von AWS-CLI-Befehlen Fehler erhältst, stelle sicher, dass du die neueste Version der AWS-CLI verwendest.

Die Zertifikatskette muss mit dem Zertifikat beginnen, das von deiner Zertifizierungsstelle (CA) generiert wurde, und mit dem Stammzertifikat deiner CA enden.

Hinweis: Wenn die Zertifikatskette nicht in der richtigen Reihenfolge ist, kann die folgende Fehlermeldung angezeigt werden: „Beim Aufrufen des Vorgangs UploadServerCertificate ist ein Fehler aufgetreten (malformedCertificate): Die Zertifikatskette konnte nicht überprüft werden. Die Zertifikatskette muss mit dem Sofortsignierungszertifikat beginnen, gefolgt von allen Zwischenhändlern der Reihe nach. Der Index innerhalb der Kette des ungültigen Zertifikats lautet: -1“

Die PEM-codierte Zertifikatskette muss mit „-----ZERTIFIKAT ANFANG----“ beginnen und mit „-----ZERTIFIKAT ENDE-----“ enden, etwa wie folgt:

-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 2
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Base64-encoded Intermediate certificate 1
-----END CERTIFICATE-----
-----BEGIN CERTIFICATE-----
Optional: Base64-encoded Root certificate
-----END CERTIFICATE-----

Hinweis: Stelle sicher, dass das Zertifikat keine führenden oder abschließenden Leerzeichen enthält und dass es außer den Blöcken ANFANG und ENDE kein Präfix oder Suffix enthält.

Der PEM-codierte Schlüssel muss das folgende Format verwenden, um die Fehlermeldung: „MalformedCertificate: Der private Schlüssel kann nicht analysiert werden“ zu vermeiden:

-----BEGIN RSA PRIVATE KEY-----
Base64-encoded private key
-----END RSA PRIVATE KEY-----

Lade das Zertifikat hoch

Lade das Zertifikat hoch, indem du den AWS-CLI-Befehl upload-server-certificate ausführst, der dem folgenden ähnelt:

$ aws iam upload-server-certificate --server-certificate-name YourCertificate --certificate-body file://Certificate.pem --certificate-chain file://CertificateChain.pem --private-key file://PrivateKey.pem

Hinweis:

  • Ersetze die Dateinamen und YourCertificate durch die Namen deiner hochgeladenen Dateien und deines Zertifikats.
  • Du musst das Präfix „file://" in den Parametern für den Zertifikatstext, die Zertifikatskette und den privaten Schlüssel in der API-Anfrage angeben. Andernfalls schlägt die Anfrage mit einer Fehlermeldung: „MalformedCertificate: Unbekannt“ fehl.

Nachdem das Zertifikat hochgeladen wurde, gibt der AWS-Befehl upload-server-certificate Metadaten für das hochgeladene Zertifikat zurück, einschließlich des Amazon-Ressourcennamens (ARN), des Anzeigenamens, der Kennung (ID) und des Ablaufdatums des Zertifikats.

Führe den AWS-CLI-Befehl list-server-certificates aus, um das hochgeladene Zertifikat einzusehen:

aws iam list-server-certificates

Hinweis: Wenn du ein Serverzertifikat zur Verwendung mit Amazon CloudFront hochlädst, musst du mit --path einen Pfad angeben. Der Pfad muss mit /cloudfront beginnen, und der Pfad muss einen abschließenden Schrägstrich enthalten, zum Beispiel /cloudfront/test/. Weitere Informationen findest du unter Wie kann ich Probleme mit der Verwendung eines benutzerdefinierten SSL-Zertifikats für meine CloudFront-Distribution beheben?

Um das Zertifikat zu löschen, führe den AWS-CLI-Befehl delete-server-certificate aus, der dem folgenden ähnelt:

$ aws iam delete-server-certificate --server-certificate-name YourCertificate

Ähnliche Informationen

In ACM integrierte Services

Format für den Import von Zertifikaten und Schlüsseln