Wie importiere ich meine Schlüssel in den AWS Key Management Service?

Lesedauer: 3 Minute
0

Ich möchte mein Schlüsselmaterial in den AWS Key Management Service (AWS KMS) importieren, damit ich symmetrische 256-Bit-Schlüssel mit AWS Services verwenden kann.

Behebung

Mit AWS KMS können Sie Ihr Schlüsselmaterial in einen AWS-KMS-Schlüssel importieren. Sie können diesen Schlüssel dann mit AWS Services verwenden, die von AWS KMS unterstützt werden.
Folgen Sie diesen Schritten, um Ihr Schlüsselmaterial in AWS KMS zu importieren.
**Hinweis:**Wenn bei der Ausführung von AWS Command Line Interface (AWS CLI)-Befehlen Fehler auftreten, finden Sie weitere Informationen unter Beheben von Fehlern in der AWS CLI. Stellen Sie außerdem sicher, dass Sie die neueste Version von AWS CLI verwenden.

  1. Erstellen Sie einen AWS-KMS-Schlüssel ohne Schlüsselmaterial und notieren Sie sich die ID Ihres AWS-KMS-Schlüssels.
    Hinweis: Für Define Key Administrative Permissions und Define Key Usage Permissions hat es sich bewährt, den Schlüsseladministrator von den Schlüsselrollen zu trennen. Dies begrenzt die Auswirkungen, wenn eine der Anmeldeinformationen offengelegt wird.

  2. Öffnen Sie ein Terminal auf Ihrem lokalen Computer oder Ihrer Amazon Elastic Compute Cloud (Amazon EC2) Instance, auf der OpenSSL installiert ist.

  3. Führen Sie den folgenden Befehl aus, um einen symmetrischen 256-Bit-Schlüssel zu generieren:

    openssl rand -out PlaintextKeyMaterial.bin 32
  4. Führen Sie die folgenden AWS-CLI-Befehle aus, um den Schlüssel zu beschreiben und die Parameter für den Import abzurufen:
    **Hinweis:**Die Befehle speichern den öffentlichen Schlüssel und importieren Token-Parameter in eine Variable.

    export KEY=`aws kms --region eu-west-2 get-parameters-for-import --key-id example1-2345-67ab-9123-456789abcdef --wrapping-algorithm RSAES_OAEP_SHA_256 --wrapping-key-spec RSA_2048 --query '{Key:PublicKey,Token:ImportToken}' --output text`
  5. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel und das Import-Token in separate base64-kodierte Dateien zu platzieren:

    echo $KEY | awk '{print $1}' > PublicKey.b64echo $KEY | awk '{print $2}' > ImportToken.b64
  6. Führen Sie die folgenden Befehle aus, um die base64-kodierte Datei in Binärdateien für den Import zu konvertieren:

    openssl enc -d -base64 -A -in PublicKey.b64 -out PublicKey.binopenssl enc -d -base64 -A -in ImportToken.b64 -out ImportToken.bin
  7. Führen Sie den folgenden Befehl aus, um das Schlüsselmaterial mit dem öffentlichen Schlüssel zu verschlüsseln, der in eine Binärdatei konvertiert wurde:

    openssl pkeyutl -in PlaintextKeyMaterial.bin -out EncryptedKeyMaterial.bin -inkey PublicKey.bin -keyform DER -pubin -encrypt -pkeyopt rsa_padding_mode:oaep -pkeyopt rsa_oaep_md:sha256
  8. Führen Sie den folgenden Befehl aus, um das verschlüsselte Schlüsselmaterial in AWS KMS zu importieren:
    **Hinweis:**In diesem Beispiel wird angegeben, dass das Schlüsselmaterial nicht abläuft, Sie können jedoch ein Ablaufdatum für Ihr Schlüsselmaterial festlegen. Weitere Informationen finden Sie unter ExpirationModel.

    aws kms --region eu-west-2 import-key-material --key-id example1-2345-67ab-9123-456789abcdef --encrypted-key-material fileb://EncryptedKeyMaterial.bin --import-token fileb://ImportToken.bin --expiration-model KEY_MATERIAL_DOES_NOT_EXPIRE
  9. Stellen Sie sicher, dass der Status des importierten Schlüssels auf Aktiviert gesetzt ist. Überprüfen Sie dazu den Schlüssel in der AWS-KMS-Konsole oder führen Sie die DescribeKey-API-Aktion aus.

Wenn Sie Ihren Schlüssel nicht importieren können, gehen Sie für Ihren Anwendungsfall wie folgt vor:

  • Sie haben länger als 24 Stunden gewartet und das Import-Token ist abgelaufen. Um dieses Problem zu beheben, laden Sie den Wrapping-Schlüssel herunter und importieren Sie das Token erneut, um das Schlüsselmaterial erneut zu verschlüsseln.
  • Ihr Schlüsselmaterial ist kein symmetrischer 256-Bit-Schlüssel. Um dieses Problem zu beheben, stellen Sie sicher, dass die Dateigröße des verschlüsselten Schlüsselmaterials 32 Byte beträgt. Führen Sie einen der folgenden Befehle aus, um die Dateigröße zu überprüfen:

Linux

wc -c <filename>.bin

Windows

Weitere Informationen finden Sie unter Importieren von Schlüsselmaterial für AWS-KMS-Schlüssel.

dir <filename>.bin

Ähnliche Informationen

Ich verwende OpenSSL, um meinen Schlüssel in AWS KMS zu importieren, erhalte aber die Fehlermeldung „InvalidCiphertext“. Wie kann ich das beheben?