

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.

# Importieren Sie einen symmetrischen Klartext-Schlüssel mit KMU AWS CloudHSM
<a name="key_mgmt_util-imSymKey"></a>

Verwenden Sie den **imSymKey** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um eine Klartextkopie eines symmetrischen Schlüssels aus einer Datei in das Hardware-Sicherheitsmodul (HSM) zu importieren. Sie können damit Schlüssel importieren, die Sie mit einer beliebigen Methode außerhalb des HSM generiert haben, sowie Schlüssel, die aus einem HSM exportiert wurden, z. B. die Schlüssel, die der Befehl, in eine Datei schreibt. [exSymKey](key_mgmt_util-exSymKey.md) 

Während des Importvorgangs verwendet **imSymKey** einen AES-Schlüssel, den Sie auswählen (*Schlüssel zum Packen*), um den zu importierenden Schlüssel zu *packen* (verschlüsseln) und zu *entpacken* (entschlüsseln). Allerdings funktioniert **imSymKey** nur für Dateien, die Klartextschlüssel enthalten. Um verschlüsselte Schlüssel zu exportieren und zu importieren, verwenden Sie den [WrapKey](key_mgmt_util-wrapKey.md) und [unWrapKey](key_mgmt_util-unwrapKey.md)die Befehle. 

Darüber hinaus exportiert der Befehl **imSymKey** nur symmetrische Schlüssel. Zum Importieren von öffentlichen Schlüsseln verwenden Sie [importPubKey](key_mgmt_util-importPubKey.md). Um private Schlüssel zu importieren, verwenden Sie [importPrivateKey](key_mgmt_util-importPrivateKey.md)oder [WrapKey](key_mgmt_util-wrapKey.md). 

**Anmerkung**  
Sie können einen passwortgeschützten PEM-Schlüssel nicht mithilfe eines symmetrischen oder privaten Schlüssels importieren.

Importierte Schlüssel können genauso wie im HSM generierte Schlüssel verwendet werden. Der Wert des Attributs [OBJ\$1ATTR\$1LOCAL](key-attribute-table.md) ist allerdings Null, was darauf hinweist, dass es nicht lokal generiert wurde. Mit dem folgenden Befehl können Sie einen symmetrischen Schlüssel freigeben, während Sie ihn importieren. Mit dem Befehl `shareKey` in [cloudhsm\$1mgmt\$1util](cloudhsm_mgmt_util.md) können Sie den Schlüssel freigeben, nachdem er importiert wurde. 

```
imSymKey -l aesShared -t 31 -f kms.key -w 3296 -u 5
```

Vergewissern Sie sich, dass Sie die Schlüsseldatei nach dem Importieren des Schlüssels markieren oder entfernen. Dieser Befehl verhindert nicht das wiederholte Importieren der gleichen Schlüsselinformationen. Das Ergebnis, mehrere Schlüssel mit eindeutigen Schlüssel-Handles und den gleichen Schlüsselinformationen, erschwert es, die Verwendung der Schlüsselinformationen nachzuverfolgen und eine Überschreitung der kryptografischen Grenzwerte zu verhindern. 

Bevor Sie einen key\$1mgmt\$1util-Befehl ausführen, müssen Sie [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start) und sich am HSM als Crypto-Benutzer (CU) [anmelden](key_mgmt_util-log-in.md). 

## Syntax
<a name="imSymKey-syntax"></a>

```
imSymKey -h

imSymKey -f <key-file>
         -w <wrapping-key-handle>  
         -t <key-type>
         -l <label>
         [-id <key-ID>]
         [-sess]
         [-wk <wrapping-key-file> ]
         [-attest]
         [-min_srv <minimum-number-of-servers>]
         [-timeout <number-of-seconds> ]
         [-u <user-ids>]
```

## Beispiele
<a name="imSymKey-examples"></a>

Diese Beispiele zeigen, wie Sie symmetrische Schlüssel **imSymKey** in Ihre importieren können. HSMs

**Example : Importieren eines symmetrischen AES-Schlüssels**  
In diesem Beispiel wird **imSymKey** ein symmetrischer AES-Schlüssel in den importiert. HSMs   
Der erste Befehl verwendet OpenSSL, um einen symmetrischen 256-Bit-AES-Schlüssel nach dem Zufallsprinzip zu generieren. Der Schlüssel wird in der Datei `aes256.key` gespeichert.  

```
$  openssl rand -out aes256.key 32
```
Der zweite Befehl dient **imSymKey** zum Importieren des AES-Schlüssels aus der `aes256.key` Datei in die HSMs. Dabei wird Schlüssel 20, ein AES-Schlüssel im HSM, als Schlüssel zum Packen eingesetzt und die Beschriftung `imported` festgelegt. Im Gegensatz zur ID muss die Beschriftung im Cluster nicht eindeutig sein. Der Wert des Parameters (Typs) `-t` ist `31`, der AES darstellt.   
Die Ausgabe zeigt, dass der Schlüssel in der Datei verpackt und entpackt und dann in das HSM importiert wurde, wo ihm das Schlüssel-Handle 262180 zugewiesen wurde.  

```
Command:  imSymKey -f aes256.key -w 20 -t 31 -l imported

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 262180

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```
Der nächste Befehl verwendet [getAttribute](key_mgmt_util-getAttribute.md), um das Attribut OBJ\$1ATTR\$1LOCAL ([Attribut 355](key-attribute-table.md)) des neu importierten Schlüssels abzurufen und in der Datei `attr_262180` zu speichern.  

```
Command:  getAttribute -o 262180 -a 355 -out attributes/attr_262180
Attributes dumped into attributes/attr_262180_imported file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
Wenn Sie die Attributdatei untersuchen, sehen Sie, dass der Wert des Attributs `OBJ_ATTR_LOCAL` null ist. Dies bedeutet, dass die Schlüsselinformationen nicht im HSM generiert wurden.   

```
$  cat attributes/attr_262180_local
OBJ_ATTR_LOCAL
0x00000000
```

**Example : Verschieben eines symmetrischen Schlüssels zwischen Clustern**  
Das folgende Beispiel zeigt, wie Sie mit [exSymKey](key_mgmt_util-exSymKey.md) und **imSymKey** einen AES-Klartextschlüssel zwischen Clustern verschieben. Sie könnten einen Prozess wie diesen verwenden, um ein AES-Wrapping zu erstellen, das auf HSMs beiden Clustern vorhanden ist. Sobald der gemeinsame Wrapping-Schlüssel vorhanden ist, können Sie [WrapKey](key_mgmt_util-wrapKey.md) verwenden und [unWrapKey](key_mgmt_util-unwrapKey.md)verschlüsselte Schlüssel zwischen den Clustern verschieben.  
Der CU-Benutzer, der diesen Vorgang ausführt, muss über die Berechtigung verfügen, sich HSMs auf beiden Clustern anzumelden.  
Der erste Befehl verwendet [exSymKey](key_mgmt_util-exSymKey.md) zum Exportieren von Schlüssel 14, einem 32-Bit-AES-Schlüssel, aus Cluster 1 in die Datei `aes.key`. Es verwendet Schlüssel 6, einen AES-Schlüssel auf dem HSMs In-Cluster 1, als Umschließungsschlüssel.   

```
Command: exSymKey -k 14 -w 6 -out aes.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "aes.key"
```
Der Benutzer meldet sich dann bei key\$1mgmt\$1util in Cluster 2 an und führt einen **imSymKey** Befehl aus, um den Schlüssel in der `aes.key` Datei in Cluster 2 zu importieren. HSMs Dieser Befehl verwendet den Schlüssel 252152, einen AES-Schlüssel HSMs in Cluster 2, als Umschließungsschlüssel.   
Da die Schlüssel zum Packen, die [exSymKey](key_mgmt_util-exSymKey.md) und **imSymKey** verwenden, die Zielschlüssel packen und sofort entpacken, müssen die Schlüssel zum Packen in den verschiedenen Clustern nicht identisch sein.   
Die Ausgabe zeigt, dass der Schlüssel erfolgreich in Cluster 2 importiert und das Schlüssel-Handle 21 zugwiesen wurde.   

```
Command:  imSymKey -f aes.key -w 262152 -t 31 -l xcluster

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 21

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```
Um nachzuweisen, dass Schlüssel 14 in Cluster 1 und Schlüssel 21 in Cluster 2 über dieselben Schlüsselinformationen verfügen, rufen Sie den Schlüsselprüfwert (Key Check Value, KCV) der einzelnen Schlüssel ab. Bei identischen KCV-Werten sind die Schlüsselinformationen gleich.  
Im folgenden Befehl wird [getAttribute](key_mgmt_util-getAttribute.md) in Cluster 1 verwendet, um den Wert des KCV-Attributs (Attribut 371) von Schlüssel 14 in die Datei `attr_14_kcv` zu schreiben. Anschließend wird mit dem Befehl **cat** der Inhalt der Datei `attr_14_kcv` abgerufen.  

```
Command:  getAttribute -o 14 -a 371 -out attr_14_kcv
Attributes dumped into attr_14_kcv file

$  cat attr_14_kcv
OBJ_ATTR_KCV
0xc33cbd
```
Dieser ganz ähnliche Befehl verwendet [getAttribute](key_mgmt_util-getAttribute.md) in Cluster 2, um den Wert des KCV-Attributs (Attribut 371) von Schlüssel 21 in die Datei `attr_21_kcv` zu schreiben. Anschließend wird mit dem Befehl **cat** der Inhalt der Datei `attr_21_kcv` abgerufen.  

```
Command:  getAttribute -o 21 -a 371 -out attr_21_kcv
Attributes dumped into attr_21_kcv file

$  cat attr_21_kcv
OBJ_ATTR_KCV
0xc33cbd
```
Die Ausgabe zeigt, dass die KCV-Werte der beiden Schlüssel gleich sind, was beweist, dass die Schlüsselinformationen identisch sind.  
Da in beiden Clustern dasselbe Schlüsselmaterial vorhanden ist, können Sie jetzt verschlüsselte Schlüssel zwischen den Clustern gemeinsam nutzen, ohne jemals den Klartext-Schlüssel preiszugeben. HSMs Beispielsweise können Sie den Befehl `wrapKey` mit dem Schlüssel 14 zum Packen verwenden, um einen verschlüsselten Schlüssel aus Cluster 1 zu exportieren, und anschließend `unWrapKey` mit Schlüssel 21 zum Packen verwenden, um den verschlüsselten Schlüssel in Cluster 2 zu importieren.

**Example : Importieren eines Sitzungsschlüssels**  
Dieser Befehl verwendet die Parameter `-sess` von **imSymKey** zum Importieren eines 192-Bit-3DES-Schlüssels, der nur für die aktuelle Sitzung gültig ist.   
Der Befehl verwendet den Parameter `-f`, um die Datei mit dem zu importierenden Schlüssel anzugeben, den Parameter `-t` zur Angabe des Schlüsseltyps und den Parameter `-w`, um den Schlüssel zum Packen festzulegen. Er verwendet den Parameter `-l` zum Angeben einer Beschriftung, die den Schlüssel kategorisiert, und den Parameter `-id` zum Erstellen eines benutzerfreundlichen, aber eindeutigen Bezeichners für den Schlüssel. Mit dem Parameter `-attest` wird außerdem die Firmware, die den Schlüssel importiert, überprüft.   
Die Ausgabe zeigt, dass der Schlüssel erfolgreich verpackt und entpackt und dann in das HSM importiert wurde, wo ihm das Schlüssel-Handle 37 zugewiesen wurde. Außerdem wurde die Bescheinigungsprüfung bestanden, was angibt, dass die Firmware nicht unbefugt geändert wurde.  

```
Command:  imSymKey -f 3des192.key -w 6 -t 21 -l temp -id test01 -sess -attest

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 37

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Anschließend können Sie den Befehl [getAttribute](key_mgmt_util-getAttribute.md) oder [findKey](key_mgmt_util-findKey.md) verwenden, um die Attribute der neu importierten Schlüssel zu überprüfen. Der folgende Befehl verwendet **findKey**, um zu überprüfen, dass der Schlüssel 37 über die vom Befehl angegebenen Typ-, Beschriftungs- und ID-Werte verfügt, und dass es sich um einen Sitzungsschlüssel handelt. Wie in Zeile 5 der Ausgabe gezeigt, meldet **findKey**, dass der einzige Schlüssel, der allen Attributen entspricht, Schlüssel 37 ist.   

```
Command:  findKey -t 21 -l temp -id test01 -sess 1
Total number of keys present 1

 number of keys matched from start index 0::0
37

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS
```

## Parameters
<a name="imSymKey-params"></a>

**-attest**  
Führt eine Integritätsprüfung durch, die sicherstellt, dass die Firmware, auf der der Cluster läuft, nicht manipuliert wurde.  
Standard: Keine Bescheinigungsprüfung.  
Erforderlich: Nein

**-f**  
Gibt die Datei an, die den zu importierenden Schlüssel enthält.  
Die Datei muss eine Klartextkopie eines AES- oder Triple-DES-Schlüssels der angegebenen Länge enthalten. RC4 und DES-Schlüssel sind im HSMs FIPS-Modus nicht gültig.  
+ **AES**: 16, 24 oder 32 Bytes
+ **Triple-DES (3DES)**: 24 Byte
Erforderlich: Ja

**-h**  
Zeigt Hilfe für den Befehl an.   
Erforderlich: Ja

**-id**  
Gibt einen benutzerdefinierten Bezeichner für den Schlüssel an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge.   
Standard : Kein ID-Wert.  
Erforderlich: Nein

**-l**  
Gibt eine benutzerdefinierte Bezeichnung für den Schlüssel an. Geben Sie eine Zeichenfolge ein.  
Sie können eine beliebige Phrase verwenden, die Ihnen bei der Identifizierung des Schlüssels hilft. Da die Bezeichnung nicht eindeutig sein muss, können Sie sie verwenden, um Schlüssel zu gruppieren und zu kategorisieren.   
Erforderlich: Ja

**-min\$1srv**  
Gibt die Mindestanzahl HSMs an, mit der der Schlüssel synchronisiert wird, bevor der Wert des `-timeout` Parameters abläuft. Falls der Schlüssel nicht in der zulässigen vorgegebenen Zeit mit der angegebenen Anzahl von Servern synchronisiert wird, wird er nicht erstellt.  
AWS CloudHSM synchronisiert automatisch jeden Schlüssel mit jedem HSM im Cluster. Um Ihren Prozess zu beschleunigen, setzen Sie den Wert von `min_srv` auf weniger als die Anzahl von HSMs im Cluster und legen Sie einen niedrigen Timeout-Wert fest. Beachten Sie jedoch, dass einige Anfragen möglicherweise keinen Schlüssel generieren.  
Standard: 1  
Erforderlich: Nein

**-sess**  
Erstellt einen Schlüssel, der nur in der aktuellen Sitzung existiert. Der Schlüssel kann nach Ende der Sitzung nicht wiederhergestellt werden.  
Verwenden Sie diesen Parameter, wenn Sie einen Schlüssel zum Packen nur für kurze Zeit benötigen, z. B. einen Schlüssel, der einen anderen Schlüssel verschlüsselt und dann schnell entschlüsselt. Verwenden Sie keinen Sitzungsschlüssel, um Daten zu verschlüsseln, die Sie nach dem Ende der Sitzung möglicherweise entschlüsseln müssen.  
Um einen Sitzungsschlüssel in einen persistenten (Token-)Schlüssel zu ändern, verwenden Sie [setAttribute](key_mgmt_util-setAttribute.md).  
Standard: Der Schlüssel ist persistent.   
Erforderlich: Nein

**-timeout**  
Gibt an, wie lange (in Sekunden) der Befehl darauf wartet, dass eine Taste mit der im Parameter HSMs angegebenen Anzahl von synchronisiert wird. `min_srv`   
Dieser Parameter ist nur gültig, wenn der `min_srv`-Parameter auch im Befehl verwendet wird.  
Voreinstellung: Keine Zeitüberschreitung. Der Befehl wartet auf unbestimmte Zeit und kehrt erst zurück, wenn der Schlüssel mit der Mindestanzahl von Servern synchronisiert ist.  
Erforderlich: Nein

**-t**  
Gibt den Typ des symmetrischen Schlüssels an. Geben Sie die Konstante ein, die den Schlüsseltyp darstellt. Zum Erstellen eines AES-Schlüssels geben Sie beispielsweise `-t 31` ein.  
Zulässige Werte:   
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES).
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Erforderlich: Ja

**-u**  
Gibt den zu importierenden Schlüssel für die angegebenen Benutzer frei. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, diesen Schlüssel für kryptografische Operationen zu verwenden.   
Geben Sie eine ID oder eine durch Kommas getrennte Liste von HSM-Benutzern IDs ein, z. B. -u. `5,6` Fügen Sie die HSM-Benutzer-ID des aktuellen Benutzers nicht ein. Zum Ermitteln einer ID können Sie den Befehl [listUsers](https://docs.aws.amazon.com/cloudhsm/latest/userguide/cloudhsm_mgmt_util-listUsers.html) im Befehlszeilen-Tool cloudhsm\$1mgmt\$1util oder den Befehl [listUsers](https://docs.aws.amazon.com/cloudhsm/latest/userguide/key_mgmt_util-listUsers.html) im Befehlszeilen-Tool key\$1mgmt\$1util verwenden.   
Erforderlich: Nein

**-w**  
Gibt das Schlüssel-Handle des Verpackungsschlüssels an. Dieser Parameter muss angegeben werden. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Ein *Schlüssel zum Packen* ist ein Schlüssel im HSM, der zum Verschlüsseln („Verpacken“) und zum Entschlüsseln („Entpacken“) des Schlüssels während des Importvorgangs dient. Nur AES-Schlüssel können als Verpackungsschlüssel verwendet werden.  
Sie können jeden AES-Schlüssel (in jeder beliebigen Größe) als Verpackungsschlüssel verwenden. Da der Verpackungsschlüssel den Zielschlüssel verpackt und danach sofort entpackt, können Sie einen nur für die aktuelle Sitzung gültigen AES-Schlüssel als Verpackungsschlüssel verwenden. Um zu bestimmen, ob ein Schlüssel als Schlüssel zum Packen verwendet werden kann, führen Sie [getAttribute](key_mgmt_util-getAttribute.md) aus, um den Wert des `OBJ_ATTR_WRAP`-Attributs (262) abzurufen. Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie [genSymKey](key_mgmt_util-genSymKey.md), um einen AES-Schlüssel (Typ 31) zu generieren.  
Wenn Sie den Parameter `-wk` zum Angeben eines externen Schlüssels zum Packen verwenden, wird der `-w`-Schlüssel zum Packen zwar zum Entpacken, jedoch nicht zum Verpacken des Schlüssels während des Importvorgangs verwendet.  
Schlüssel 4 ist ein nicht unterstützter, interner Schlüssel. Wir empfehlen, dass Sie einen AES-Schlüssel als Umhüllungsschlüssel verwenden, den Sie erstellen und verwalten.
Erforderlich: Ja

**-wk**  
Verwenden Sie den AES-Schlüssel in der angegebenen Datei, um den Schlüssel, der importiert wird, zu verpacken. Geben Sie den Pfad und den Namen einer Datei an, die einen Klartext-AES-Schlüssel enthält.   
Wenn Sie diesen Parameter angeben, verwendet **imSymKey** den Schlüssel in der Datei `-wk`, um den zu importierenden Schlüssel zu verpacken, und den Schlüssel im HSM, der durch den `-w`-Parameter festgelegt ist, um ihn zu entpacken. Die Parameterwerte `-w` und `-wk` müssen durch denselben Klartextschlüssel aufgelöst werden.  
Standard: Verwenden Sie den Verpackungsschlüssel auf dem HSM zum Entpacken.  
Erforderlich: Nein

## Verwandte Themen
<a name="imSymKey-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [wrapKey](key_mgmt_util-wrapKey.md)
+ [unWrapKey](key_mgmt_util-unwrapKey.md)
+ [exportPrivateKey](key_mgmt_util-exportPrivateKey.md)
+ [exportPubKey](key_mgmt_util-exportPubKey.md)