Schlüssel für den Import formatieren

In diesem Thema wird beschrieben, wie Sie Ihre Schlüssel so formatieren, dass sie von Cloud KMS als neue Schlüsselversionen importiert werden können.

Welches Format für das Schlüsselmaterial verwendet werden muss, hängt davon ab, ob das Schlüsselmaterial in einen symmetrischen oder in einen asymmetrischen Schlüssel importiert wird. Weitere Informationen zum Unterschied zwischen symmetrischen und asymmetrischen Schlüsseln finden Sie unter Schlüsselzwecke und -algorithmen.

Unterstützte Schlüsselformate

  • Symmetrische Schlüssel für die Verschlüsselung müssen 16 Byte (nur für rohe symmetrische Verschlüsselung) oder 32 Byte Binärdaten betragen und dürfen nicht codiert sein. Wenn Ihr Schlüssel hex- oder base64-codiert ist, müssen Sie ihn vor dem Import decodieren.

  • Symmetrische Schlüssel zum Signieren (MAC-Schlüssel) müssen eine Länge haben, die der Ausgabelänge der verwendeten kryptografischen Hash-Funktion entspricht, (z. B. HMAC-SHA256-Schlüssel müssen eine Länge von 32 Byte haben) und dürfen nicht codiert sein. Wenn Ihr Schlüssel hexadezimal oder base64-codiert ist, müssen Sie ihn vor dem Import decodieren.

  • Asymmetrische Schlüssel für die Verschlüsselung oder Signierung müssen im PKCS #8-Format vorliegen und DER-codiert sein. Das PCKS #8-Format ist in RFC5208 definiert. Die DER-Codierung ist in der International Tel Nachrichten Union X.680 definiert. Asymmetrische Schlüssel müssen eine der von Cloud KMS unterstützten Längen- und Algorithmuskombinationen verwenden.

Einige Aspekte eines Schlüssels, z. B. die Länge des Schlüssels, können nach der Erstellung des Schlüssels nicht mehr geändert werden. In diesen Fällen kann der Schlüssel nicht in Cloud KMS importiert werden.

Einen symmetrischen Schlüssel überprüfen

Mit dem Befehl wc können Sie die Länge eines symmetrischen Schlüssels überprüfen.

wc -c /path/to/unwrapped-key
  • Einen symmetrischen Verschlüsselungschlüssel mit einer anderen Länge als 32 können Sie nicht importieren.

  • Symmetrische Signaturschlüssel (MAC-Schlüssel) müssen eine Länge haben, die der Ausgabelänge der verwendeten kryptografischen Hash-Funktion entspricht (Beispiel: HMAC-SHA256-Schlüssel müssen eine Länge von 32 Byte haben).

Prüfen Sie das Format eines Schlüssels mit dem Befehl file.

file /path/to/unwrapped-key
  • Wenn die Ausgabe data lautet, hat der Schlüssel das richtige Format für den Import.

  • Wenn die Ausgabe ASCII text ist, zeigen Sie mit dem Befehl cat den Inhalt der Datei an.

    • Wenn es sich um eine Zeichenfolge aus Buchstaben und Zahlen handelt, die mit einem =-Zeichen endet, ist sie möglicherweise base64-codiert. Verwenden Sie den Befehl base64 (Base64.exe unter Windows), um ihn zu decodieren. Das folgende Beispiel zeigt einen base64-codierten Schlüssel:

      THzArjassB+giKeNeT1Zr74OgV24t+Ep+37Ec6ojB3Y=
      
    • Wenn sie eine oder mehrere Zeilen mit Hexadezimalzahlen enthält, ist sie möglicherweise Hex-codiert. Verwenden Sie den Befehl xxd (oder den PowerShell-Befehl Format-Hex unter Windows), um ihn zu decodieren. Hier ein Beispiel für einen hexadezimal codierten Schlüssel:

      00000000: 4c7c c0ae 36ac b01f a088 a78d 793d 59af  L|..6.......y=Y.
      00000010: be0e 815d b8b7 e129 fb7e c473 aa23 0776  ...]...).~.s.#.v
      
    • Wenn er einen anderen Text enthält, ist er möglicherweise kein gültiger symmetrischer Schlüssel.

Asymmetrische Schlüssel formatieren

Asymmetrische Schlüssel, die einen der unterstützten Algorithmen verwenden, können importiert werden. In der Praxis ist es schwierig, rückwirkend den Algorithmus zu ermitteln, der zum Erstellen eines asymmetrischen Schlüssels verwendet wird. Aus diesem Grund empfehlen wir, die folgenden Befehle für jeden asymmetrischen Schlüssel auszuführen, bevor Sie versuchen, ihn in Cloud KMS zu importieren.

  1. Prüfen Sie das Format eines Schlüssels mit dem Befehl file.

    file /path/to/unwrapped-key
    
    • Wenn die Ausgabe PEM ist, liegt der Schlüssel im PEM-Format vor. Wenn es sich um ASCII text handelt, liegt er wahrscheinlich im PEM-Format vor. Führen Sie in beiden Fällen den folgenden Befehl aus, um sie in das PCKS#8 DER-Format zu konvertieren:

      openssl pkcs8 -topk8 -nocrypt -inform PEM -outform DER \
          -in /path/to/asymmetric-key-pem \
          -out /path/to/formatted-key
      
    • Wenn die Ausgabe data ist, liegt der Schlüssel wahrscheinlich im DER-Format vor, aber möglicherweise nicht im PKCS #8-Format. Führen Sie den folgenden Befehl aus, um sicherzustellen, dass der Schlüssel das richtige Format hat. Der Befehl hat keine Auswirkungen, wenn der Schlüssel bereits im richtigen Format vorliegt. In diesem Fall können Sie mit dem Befehl diff überprüfen, ob die Ein- und Ausgabedatei identisch sind.

      openssl pkcs8 -topk8 -nocrypt -inform DER -outform DER \
          -in /path/to/asymmetric-key-der \
          -out /path/to/formatted-key
      

Fehlerbehebung

Wenn Sie die obigen Befehle ausgeführt haben und der Ansicht sind, dass der Schlüssel in einem geeigneten Format vorliegt, der Import aber trotzdem fehlschlägt, prüfen Sie die Google Cloud Console auf Fehler und lesen Sie dann den Abschnitt Fehlerbehebung bei fehlgeschlagenen Importen.

Nächste Schritte