

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.

# Referenz für Befehle AWS CloudHSM der Key Management Utility
<a name="key_mgmt_util-reference"></a>

Das Befehlszeilentool **key\$1mgmt\$1util** unterstützt Sie bei der Verwaltung von Schlüsseln in den Hardware-Sicherheitsmodulen (HSM) in Ihrem AWS CloudHSM Cluster, einschließlich der Erstellung, Löschung und Suche nach Schlüsseln und deren Attributen. Das Tool umfasst mehrere Befehle, die in diesem Thema ausführlich beschrieben werden.

Informationen zum schnellen Einstieg finden Sie unter [Erste Schritte mit AWS CloudHSM key\$1mgmt\$1util](key_mgmt_util-getting-started.md). Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md). Weitere Informationen über das cloudhsm\$1mgmt\$1util-Befehlszeilentool, das Befehle für die Verwaltung von HSM und Benutzern in Ihrem Cluster umfasst, finden Sie unter [AWS CloudHSM Verwaltungsdienstprogramm (CMU)](cloudhsm_mgmt_util.md). 

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). 

Um alle key\$1mgmt\$1util-Befehle aufzulisten, geben Sie Folgendes ein:

```
Command: help
```

Um Hilfe für einen bestimmten key\$1mgmt\$1util-Befehl zu erhalten, geben Sie Folgendes ein:

```
Command: <command-name> -h
```

Um Ihre key\$1mgmt\$1util-Sitzung zu beenden, geben Sie Folgendes ein:

```
Command: exit
```

Die folgenden Themen beschreiben Befehle in key\$1mgmt\$1util.

**Anmerkung**  
Einige Befehle in key\$1mgmt\$1util und cloudhsm\$1mgmt\$1util haben dieselben Namen. Die Befehle haben jedoch in der Regel eine andere Syntax, eine andere Ausgabe und eine leicht unterschiedliche Funktionalität.


| Befehl | Description | 
| --- | --- | 
|  [aesWrapUnwrap](key_mgmt_util-aesWrapUnwrap.md) | Verschlüsselt und entschlüsselt den Inhalt eines Schlüssels in einer Datei. | 
| [deleteKey](key_mgmt_util-deleteKey.md) |  HSMsLöscht einen Schlüssel aus dem. | 
| [Error2String](key_mgmt_util-Error2String.md) | Gibt den Fehler zurück, der dem hexadezimalen key\$1mgmt\$1util-Fehlercode entspricht. | 
| [exit](key_mgmt_util-exit.md) | Beendet das key\$1mgmt\$1util. | 
| [exportPrivateKey](key_mgmt_util-exportPrivateKey.md) | Exportiert die Kopie eines privaten Schlüssels aus einem HSM in eine Datei auf einem Datenträger. | 
| [exportPubKey](key_mgmt_util-exportPubKey.md) | Exportiert eine Kopie eines öffentlichen Schlüssels aus einem HSM in eine Datei. | 
| [exSymKey](key_mgmt_util-exSymKey.md) | Exportiert eine Klartextkopie eines symmetrischen Schlüssels von in eine Datei HSMs . | 
| [extractMaskedObject](key_mgmt_util-extractMaskedObject.md) | Extrahiert einen Schlüssel aus einem HSM als Datei in Form eines maskierten Objekts. | 
| [findKey](key_mgmt_util-findKey.md) | Sucht nach Schlüsseln anhand des Schlüsselattributwerts. | 
| [findSingleKey](key_mgmt_util-findSingleKey.md) |  Überprüft, ob ein Schlüssel für alle HSMs im Cluster vorhanden ist. | 
| [Gen-Paar DSAKey](key_mgmt_util-genDSAKeyPair.md) |  Generiert ein DSA-Schlüsselpaar ([Digital Signing Algorithm](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)) in Ihrem HSMs. | 
| [Gen-Paar ECCKey](key_mgmt_util-genECCKeyPair.md) |  Generiert ein ECC-Schlüsselpaar ([Elliptic Curve Cryptography](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)) in Ihrem. HSMs | 
| [Gen-Paar RSAKey](key_mgmt_util-genRSAKeyPair.md) |  Generiert ein [asymmetrisches RSA-Schlüsselpaar](https://en.wikipedia.org/wiki/RSA_%28cryptosystem%29) in Ihrem. HSMs | 
| [genSymKey](key_mgmt_util-genSymKey.md) |  Generiert einen symmetrischen Schlüssel in Ihrem HSMs | 
| [getAttribute](key_mgmt_util-getAttribute.md) |  Liest die Attributwerte eines AWS CloudHSM-Schlüssels und schreibt sie in eine Datei. | 
| [getCaviumPrivKey](key_mgmt_util-getCaviumPrivKey.md) (Schlüssel) |  Erstellt eine Fake-Version eines privaten Schlüssels im PEM-Format und exportiert ihn in eine Datei.  | 
| [getCert](key_mgmt_util-getCert.md) |  Ruft die Partitionszertifikate eines HSMs ab und speichert sie in einer Datei.  | 
| [getKeyInfo](key_mgmt_util-getKeyInfo.md) |  Ruft den HSM-Benutzer IDs der Benutzer ab, die den Schlüssel verwenden können.  Wird der Schlüssel durch ein Quorum gesteuert, wird die Anzahl der Benutzer in dem Quorum gelesen. | 
| [help](key_mgmt_util-help.md) |  Zeigt Hilfeinformationen zu den in key\$1mgmt\$1util verfügbaren Befehlen an.  | 
| [importPrivateKey](key_mgmt_util-importPrivateKey.md) | Importiert einen privaten Schlüssel in ein HSM. | 
| [importPubKey](key_mgmt_util-importPubKey.md) | Importiert einen öffentlichen Schlüssel in ein HSM. | 
| [imSymKey](key_mgmt_util-imSymKey.md) |  Importiert eine Klartextkopie eines symmetrischen Schlüssels von einer Datei in das HSM.  | 
| [insertMaskedObject](key_mgmt_util-insertMaskedObject.md) | Fügt ein maskiertes Objekt aus einer Datei auf einem Datenträger in ein HSM ein, das sich in einem dem ursprünglichen Objekt-Cluster zugehörigen Cluster befindet. Zusammengehörige Cluster sind alle [aus einer Sicherung des ursprünglichen Clusters erstellten](create-cluster-from-backup.md) Cluster. | 
| [Schlüsseldatei mit AWS CloudHSM KMU validieren](key_mgmt_util-IsValidKeyHandlefile.md) | Ermittelt, ob eine bestimmte Datei einen echten privaten Schlüssel oder einen Beispiel-PEM-Schlüssel enthält. | 
| [listAttributes](key_mgmt_util-listAttributes.md) |  Listet die Attribute eines AWS CloudHSM Schlüssels und die Konstanten auf, die sie repräsentieren. | 
| [listUsers](key_mgmt_util-listUsers.md) |  Ruft die Benutzer in HSMs, ihren Benutzertyp und ihre ID sowie andere Attribute ab.  | 
| [loginHSM und logoutHSM](key_mgmt_util-loginHSM.md) |  Melden Sie sich in einem Cluster HSMs an und ab.  | 
| [setAttribute](key_mgmt_util-setAttribute.md) | Konvertiert einen Sitzungsschlüssel in einen persistenten Schlüssel. | 
| [sign](key_mgmt_util-sign.md) | Erstellen Sie mit einem ausgewählten privaten Schlüssel eine Signatur für eine Datei. | 
| [unWrapKey](key_mgmt_util-unwrapKey.md) |  Importiert einen verpackten (verschlüsselten) Schlüssel aus einer Datei in die HSMs. | 
| [verify](key_mgmt_util-verify.md) | Prüft, ob ein bestimmter Schlüssel zum Signieren einer bestimmten Datei verwendet wurde. | 
| [wrapKey](key_mgmt_util-wrapKey.md) |  Exportiert eine verschlüsselte Kopie eines Schlüssels aus dem HSM in eine Datei.  | 

# Eine AWS CloudHSM Datei mit KMU verschlüsseln und entschlüsseln
<a name="key_mgmt_util-aesWrapUnwrap"></a>

Verwenden Sie den **aesWrapUnwrap** Befehl in AWS CloudHSM key\$1mgmt\$1util, um den Inhalt einer Datei auf der Festplatte zu verschlüsseln oder zu entschlüsseln. Mit diesem Befehl können Sie Verschlüsselungsschlüssel ein- und auspacken. Sie können ihn für jede Datei verwenden, die weniger als 4 KB (4096 Byte) Daten enthält.

**aesWrapUnwrap**verwendet AES Key Wrap mit PKCS \$15 -Padding. Es verwendet einen AES-Schlüssel im HSM als Ver- und Entpackschlüssel. Dann schreibt er das Ergebnis in eine andere Datei auf dem Datenträger. 

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="aesWrapUnwrap-syntax"></a>

```
aesWrapUnwrap -h

aesWrapUnwrap -m <wrap-unwrap mode>
              -f <file-to-wrap-unwrap> 
              -w <wrapping-key-handle>               
              [-i <wrapping-IV>] 
              [-out <output-file>]
```

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

Diese Beispiele zeigen, wie man mit **aesWrapUnwrap** einen Verschlüsselungsschlüssel in einer Datei verschlüsselt und entschlüsselt. 

**Example : Verschlüsselungsschlüssel verpacken**  
Dieser Befehl verwendet **aesWrapUnwrap**, um einen symmetrischen Dreifach-DES-Schlüssel, der [vom HSM im Klartext exportiert wurde](key_mgmt_util-exSymKey.md), in die `3DES.key`-Datei zu packen. Mit einem ähnlichen Befehl können Sie jeden in einer Datei gespeicherten Schlüssel verpacken.   
Der Befehl verwendet den `-m`-Parameter mit dem Wert `1`, um den Wrap-Modus festzulegen. Er verwendet den `-w`-Parameter, um einen AES-Schlüssel im HSM (Key-Handle `6`) als Wrapping-Schlüssel anzugeben. Der resultierende verpackte Schlüssel wird in die `3DES.key.wrapped`-Datei geschrieben.  
Die Ausgabe zeigt, dass der Befehl erfolgreich war und dass die Operation die Standard-IV verwendet hat, die bevorzugt wird.  

```
 Command:  aesWrapUnwrap -f 3DES.key -w 6 -m 1 -out 3DES.key.wrapped

        Warning: IV (-i) is missing.
                 0xA6A6A6A6A6A6A6A6 is considered as default IV
result data:
49 49 E2 D0 11 C1 97 22
17 43 BD E3 4E F4 12 75
8D C1 34 CF 26 10 3A 8D
6D 0A 7B D5 D3 E8 4D C2
79 09 08 61 94 68 51 B7

result written to file 3DES.key.wrapped

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

**Example : Verschlüsselungsschlüssel entpacken**  
Dieses Beispiel zeigt, wie man **aesWrapUnwrap** verwendet, um einen verpackten (verschlüsselten) Schlüssel in einer Datei zu entpacken (entschlüsseln). Sie können eine solche Operation durchführen, bevor Sie einen Schlüssel in das HSM importieren. Wenn Sie beispielsweise versuchen, den [imSymKey](key_mgmt_util-imSymKey.md)Befehl zum Importieren eines verschlüsselten Schlüssels zu verwenden, wird ein Fehler zurückgegeben, da der verschlüsselte Schlüssel nicht das Format hat, das für einen Klartext-Schlüssel dieses Typs erforderlich ist.  
Der Befehl entpackt den Schlüssel in der Datei `3DES.key.wrapped` und schreibt den Klartext in die Datei `3DES.key.unwrapped`. Der Befehl verwendet den `-m`-Parameter mit dem Wert `0`, um den Unwrap-Modus festzulegen. Er verwendet den `-w`-Parameter, um einen AES-Schlüssel im HSM (Key-Handle `6`) als Wrapping-Schlüssel anzugeben. Der resultierende verpackte Schlüssel wird in die `3DES.key.unwrapped`-Datei geschrieben.   

```
 Command:  aesWrapUnwrap -m 0 -f 3DES.key.wrapped -w 6 -out 3DES.key.unwrapped

        Warning: IV (-i) is missing.
                 0xA6A6A6A6A6A6A6A6 is considered as default IV
result data:
14 90 D7 AD D6 E4 F5 FA
A1 95 6F 24 89 79 F3 EE
37 21 E6 54 1F 3B 8D 62

result written to file 3DES.key.unwrapped

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

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

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

**-m**  
Gibt den Modus an. Um den Dateiinhalt zu verpacken (verschlüsseln), geben Sie `1` ein. Um den Dateiinhalt zu entpacken (entschlüsseln), geben Sie `0` ein.  
Erforderlich: Ja

**-f**  
Gibt die zu verpackende Datei an. Geben Sie eine Datei ein, die weniger als 4 KB (4096 Byte) Daten enthält. Diese Operation wurde entwickelt, um Verschlüsselungsschlüssel ein- und auszupacken.  
Erforderlich: Ja

**-w**  
Gibt den Wrapping-Schlüssel an. Geben Sie das Schlüssel-Handle eines AES-Schlüssels auf dem HSM ein. Dieser Parameter muss angegeben werden. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie, [genSymKey](key_mgmt_util-genSymKey.md)um einen AES-Schlüssel zu generieren (Typ 31).  
Erforderlich: Ja

**-i**  
Gibt einen alternativen Initialwert (IV) für den Algorithmus an. Verwenden Sie den Standardwert, es sei denn, es gibt eine spezielle Bedingung, die eine Alternative erfordert.  
Standard: `0xA6A6A6A6A6A6A6A6`. Der Standardwert ist in der Spezifikation des [AES Key Wrap](https://tools.ietf.org/html/rfc3394)-Algorithmus definiert.  
Erforderlich: Nein

**-out**  
Gibt einen alternativen Namen für die Ausgabedatei an, die den verpackten oder entpackten Schlüssel enthält. Die Voreinstellung ist `wrapped_key` (für Wrap-Operationen) und `unwrapped_key` (für Unwrap-Operationen) im lokalen Verzeichnis.  
Wenn die Datei vorhanden ist, wird diese ohne Warnung von **aesWrapUnwrap** überschrieben. Wenn der Befehl fehlschlägt, erstellt **aesWrapUnwrap** eine Ausgabedatei ohne Inhalt.  
Voreinstellung: Für Verpacken: `wrapped_key`. Zum Entpacken: `unwrapped_key`.  
Erforderlich: Nein

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

# Löschen Sie einen AWS CloudHSM Schlüssel mit KMU
<a name="key_mgmt_util-deleteKey"></a>

Verwenden Sie den **deleteKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen Schlüssel aus dem Hardware-Sicherheitsmodul (HSM) in einem Cluster zu löschen. AWS CloudHSM Sie können nur jeweils einen Schlüssel löschen. Das Löschen eines Schlüssels in einem Schlüsselpaar hat keine Auswirkungen auf den anderen Schlüssel in diesem Paar.

Nur der Schlüsselbesitzer kann einen Schlüssel löschen. Benutzer, für die der Schlüssel freigegeben ist, können ihn in kryptografischen Vorgängen verwenden, aber nicht löschen. 

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="deleteKey-syntax"></a>

```
deleteKey -h 

deleteKey -k
```

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

Diese Beispiele zeigen, wie Sie Schlüssel aus Ihrem löschen können. **deleteKey** HSMs

**Example : Löschen eines Schlüssels**  
Dieser Befehl löscht den Schlüssel mit dem Schlüssel-Handle `6`. Wenn der Befehl erfolgreich ist, gibt **deleteKey** eine Erfolgsmeldung von jedem HSM im Cluster zurück.  

```
Command: deleteKey -k 6

        Cfm3DeleteKey returned: 0x00 : HSM Return: SUCCESS

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

**Example : Löschen eines Schlüssels (Fehler)**  
Wenn der Befehl fehlschlägt, da kein Schlüssel über das angegebenen Schlüssel-Handle verfügt, gibt **deleteKey** eine Fehlermeldung aufgrund eines ungültigen Objekt-Handles zurück.  

```
Command: deleteKey -k 252126

        Cfm3FindKey returned: 0xa8 : HSM Error: Invalid object handle is passed to this operation

        Cluster Error Status
        Node id 1 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation
        Node id 2 and err state 0x000000a8 : HSM Error: Invalid object handle is passed to this operation
```
Wenn der Befehl fehlschlägt, da der aktuelle Benutzer nicht der Eigentümer des Schlüssels ist, gibt der Befehl eine „Zugriff verweigert'-Fehlermeldung zurück.  

```
Command:  deleteKey -k 262152

Cfm3DeleteKey returned: 0xc6 : HSM Error: Key Access is denied.
```

## Parameters
<a name="deleteKey-parameters"></a>

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

**-k**  
Gibt das Schlüssel-Handle des zu löschenden Schlüssels an. Um die Schlüssel-Handles der Schlüssel im HSM zu finden, verwenden Sie [findKey](key_mgmt_util-findKey.md).  
Erforderlich: Ja

## Verwandte Themen
<a name="deleteKey-seealso"></a>
+ [findKey](key_mgmt_util-findKey.md)

# Beschreiben Sie einen AWS CloudHSM Fehler mit KMU
<a name="key_mgmt_util-Error2String"></a>

Verwenden Sie den **Error2String** Hilfsbefehl in key\$1mgmt\$1util, um den Fehler zurückzugeben, der einem AWS CloudHSM hexadezimalen Key\$1mgmt\$1util-Fehlercode entspricht. Verwenden Sie diesen Befehl bei der Fehlerbehebung von Befehlen und Skripten.

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="Error2String-syntax"></a>

```
Error2String -h

Error2String -r <response-code>
```

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

Diese Beispiele zeigen, wie Sie mit **Error2String** den Fehlerstring für einen key\$1mgmt\$1util-Fehlercode abrufen können. 

**Example ; Anfordern einer Fehlerbeschreibung**  
Dieser Befehl ruft die Fehlerbeschreibung für den `0xdb`-Fehlercode auf. Die Beschreibung erklärt, dass ein Anmeldeversuch bei key\$1mgmt\$1util fehlgeschlagen ist, da der Benutzer nicht über den richtigen Benutzertypen verfügt. Nur Crypto-Benutzer (CU) können sich bei key\$1mgmt\$1util anmelden.  

```
        Command:  Error2String -r 0xdb
        
        Error Code db maps to HSM Error: Invalid User Type.
```

**Example : Finden des Fehlercodes**  
Dieses Beispiel zeigt, wo der Fehlercode in einem key\$1mgmt\$1util-Fehler gefunden werden kann. Der Fehlercode `0xc6` wird nach der Zeichenfolge angezeigt: `Cfm3<command-name> returned: `.  
[getKeyInfo](key_mgmt_util-getKeyInfo.md)Zeigt in diesem Beispiel an, dass der aktuelle Benutzer (Benutzer 4) den Schlüssel für kryptografische Operationen verwenden kann. Wenn der Benutzer jedoch [deleteKey](key_mgmt_util-deleteKey.md) verwendet, um den Schlüssel zu löschen, gibt der Befehl den Fehlercode `0xc6` zurück.   

```
        Command:  deleteKey -k 262162

        Cfm3DeleteKey returned: <0xc6> : HSM Error: Key Access is denied

        Cluster Error Status

        Command:  getKeyInfo -k 262162
        
        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 1 user(s):

                4
```
Wen Ihnen der Fehler `0xc6` zurückgegeben wird, können Sie einen **Error2String**-Befehl wie diesen verwenden, um den Fehler nachzuschlagen. In diesem Fall schlug der Befehl `deleteKey` aufgrund eines „Zugriff verweigert“-Fehlers fehl, da der Schlüssel für den aktuellen Benutzer freigegeben wurde, der Eigentümer aber ein anderer Benutzer ist. Nur die Eigentümer eines Schlüssels haben die Berechtigung, einen Schlüssel zu löschen.  

```
        Command:  Error2String -r 0xa8
        
        Error Code c6 maps to HSM Error: Key Access is denied
```

## Parameters
<a name="Error2String-parameters"></a>

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

**-r**  
Gibt einen hexadezimalen Fehlercode an. Die hexadezimalen Anzeige `0x` ist erforderlich.  
Erforderlich: Ja

# Verlassen Sie die AWS CloudHSM KMU
<a name="key_mgmt_util-exit"></a>

Verwenden Sie den **exit** Befehl in AWS CloudHSM key\$1mgmt\$1util, um key\$1mgmt\$1util zu beenden. Nach erfolgreicher Beendigung kehren Sie zur Standard-Befehlszeile zurück.

Bevor Sie den Befehl key\$1mgmt\$1util ausführen, müssen Sie [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start).

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

```
exit
```

## Parameters
<a name="exit-parameters"></a>

Für diesen Befehl gibt es keine Parameter.

## Verwandte Themen
<a name="exit-seealso"></a>
+ [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start)

# Exportieren eines privaten AWS CloudHSM Schlüssels mit KMU
<a name="key_mgmt_util-exportPrivateKey"></a>

Verwenden Sie den **exportPrivateKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen asymmetrischen privaten Schlüssel aus einem Hardware-Sicherheitsmodul (HSM) in eine Datei zu exportieren. Das HSM erlaubt keinen direkten Export von Schlüsseln im Klartext. Der Befehl umschließt den privaten Schlüssel mit einem von Ihnen angegebenen AES-Wrapping-Schlüssel, entschlüsselt die umschlossenen Bytes und kopiert den privaten Klartext-Schlüssel in eine Datei.

Der **exportPrivateKey**-Befehl entfernt den Schlüssel nicht aus dem HSM, ändert nicht seine [Schlüsselattribute](key-attribute-table.md) und hindert Sie nicht daran, den Schlüssel für weitere kryptografische Operationen zu verwenden. Sie können den gleichen Schlüssel mehrmals exportieren.

Sie können nur private Schlüssel exportieren, die den `OBJ_ATTR_EXTRACTABLE`-Attributwert `1` haben. Sie müssen einen AES-Wrapping-Schlüssel angeben, der `OBJ_ATTR_WRAP`- und `OBJ_ATTR_DECRYPT`-Attributwerte `1` hat. Mit dem Befehl [**getAttribute**](key_mgmt_util-getAttribute.md) können Sie nach den Attributen eines Schlüssels suchen.

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="exportPrivateKey-syntax"></a>

```
exportPrivateKey -h

exportPrivateKey -k <private-key-handle>
                 -w <wrapping-key-handle>
                 -out <key-file>
                 [-m <wrapping-mechanism>]
                 [-wk <wrapping-key-file>]
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **exportPrivateKey** einen privaten Schlüssel aus einem HSM exportieren.

**Example : Exportieren eines privaten Schlüssels**  
Dieser Befehl exportiert einen privaten Schlüssel mit dem Handle `15` anhand eines Verpackungsschlüssels mit dem Handle `16` in eine PEM-Datei mit dem Namen `exportKey.pem`. Wird der Befehl erfolgreich ausgeführt, gibt **exportPrivateKey** eine Erfolgsmeldung zurück.  

```
Command: exportPrivateKey -k 15 -w 16 -out exportKey.pem

Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS

PEM formatted private key is written to exportKey.pem
```

## Parameters
<a name="exportPrivateKey-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-k`**  
Gibt das Schlüssel-Handle des zu exportierenden privaten Schlüssels an.  
Erforderlich: Ja

**`-w`**  
Gibt das Schlüssel-Handle des Verpackungsschlüssels an. Dieser Parameter muss angegeben werden. Nutzen Sie den Befehl [**findKey**](key_mgmt_util-findKey.md), um Schlüssel-Handles zu suchen.  
Ermitteln Sie mithilfe von [**getAttribute**](key_mgmt_util-getAttribute.md) den Wert des `OBJ_ATTR_WRAP`-Attributs (262), um zu bestimmen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann. 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 Entpackungsschlüssels verwenden, wird der `-w`-Verpackungsschlüssel während des Exports zum Verpacken, nicht aber zum Entpacken des Schlüssels verwendet.  
Erforderlich: Ja

**`-out`**  
Gibt den Namen der Datei an, in die der exportierte private Schlüssel geschrieben werden soll.  
Erforderlich: Ja

**`-m`**  
Gibt den Verpackungsmechanismus an, mit dem der zu exportierende private Schlüssel verpackt werden soll. Der einzige gültige Wert ist `4`. Dieser repräsentiert den `NIST_AES_WRAP mechanism.`-Mechanismus.  
Standard: 4 (`NIST_AES_WRAP`)  
Erforderlich: Nein

**`-wk`**  
Gibt den Schlüssel an, mit dem der zu exportierende Schlüssel entpackt werden soll. Geben Sie den Pfad und den Namen einer Datei an, die einen Klartext-AES-Schlüssel enthält.  
Wenn Sie diesen Parameter einschließen, verwendet **exportPrivateKey** den Schlüssel in der `-w`-Datei, um den zu exportierenden Schlüssel zu verpacken. Zum Entpacken wird der über den `-wk`-Parameter angegebene Schlüssel verwendet.  
Standard: Verwenden Sie den im `-w`-Parameter angegeben Verpackungsschlüssel für das Verpacken und Entpacken von Schlüsseln.  
Erforderlich: Nein

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

# Exportieren eines öffentlichen AWS CloudHSM Schlüssels mit KMU
<a name="key_mgmt_util-exportPubKey"></a>

Verwenden Sie den **exportPubKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen öffentlichen Schlüssel in einem HSM in eine Datei zu exportieren. Sie können ihn verwenden, um öffentliche Schlüssel zu exportieren, die Sie in einem HSM erstellt haben. Mit diesem Befehl ist auch das Exportieren öffentlicher Schlüssel möglich, die in ein HSM importiert wurden. Dies betrifft z. B. jene Schlüssel, deren Import über den Befehl **[**importPubKey**](key_mgmt_util-importPubKey.md)** erfolgt ist.

Die Operation **exportPubKey** kopiert das Schlüsselmaterial in eine von Ihnen angegebene Datei. Der Befehl entfernt jedoch den Schlüssel nicht aus dem HSM oder ändert dessen [Schlüsselattribute](key-attribute-table.md). Auch hindert Sie der Befehl nicht daran, den Schlüssel in weiteren kryptografischen Operationen zu verwenden. Sie können den gleichen Schlüssel mehrmals exportieren.

Sie können nur öffentliche Schlüssel exportieren, deren `OBJ_ATTR_EXTRACTABLE`-Wert auf `1` gesetzt ist. Mit dem Befehl **[getAttribute](key_mgmt_util-getAttribute.md)** können Sie nach den Attributen eines Schlüssels suchen.

Vor dem Ausführen eines `key_mgmt_util`-Befehls müssen Sie [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start) und sich beim HSM als Crypto-Benutzer (CU) [anmelden](key_mgmt_util-log-in.md).

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

```
exportPubKey -h

exportPubKey -k <public-key-handle>
             -out <key-file>
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **exportPubKey** einen öffentlichen Schlüssel aus einem HSM exportieren.

**Example : Exportieren eines öffentlichen Schlüssels**  
Mit diesem Befehl wird ein öffentlicher Schlüssel mit dem Handle `10` in eine Datei namens `public.pem` exportiert. Wird der Befehl erfolgreich ausgeführt, gibt **exportPubKey** eine Erfolgsmeldung zurück.  

```
Command: exportPubKey -k 10 -out public.pem

PEM formatted public key is written to public.pem

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

## Parameters
<a name="exportPubKey-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-k`**  
Gibt das Schlüssel-Handle des zu exportierenden öffentlichen Schlüssels an.  
Erforderlich: Ja

**`-out`**  
Gibt den Namen der Datei an, in die der exportierte öffentliche Schlüssel geschrieben werden soll.  
Erforderlich: Ja

## Verwandte Themen
<a name="exportPubKey-seealso"></a>
+ [importPubKey](key_mgmt_util-importPubKey.md)
+ [Generieren von Schlüsseln](generate-keys.md)

# Exportieren Sie eine Klartextkopie eines AWS CloudHSM Schlüssels mit KMU
<a name="key_mgmt_util-exSymKey"></a>

Verwenden Sie den **exSymKey** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um eine Klartextkopie eines symmetrischen Schlüssels aus dem Hardware-Sicherheitsmodul (HSM) zu exportieren und in einer Datei auf der Festplatte zu speichern. Um eine verschlüsselte (verpackte) Kopie eines Schlüssels zu exportieren, verwenden Sie [wrapKey](key_mgmt_util-wrapKey.md). Um einen Klartext-Schlüssel zu importieren, wie z. B. Schlüssel, der exportiert wird, verwenden Sie. `exSymKey` [imSymKey](key_mgmt_util-imSymKey.md)

Während des Exportvorgangs verwendet **exSymKey** einen AES-Schlüssel, den Sie angeben (der *wrapping key (Verpackungsschlüssel)*), um den zu exportierenden Schlüssel zu *packen* (verschlüsseln) und anschließend zu *entpacken* (entschlüsseln). Das Ergebnis des Exportvorgangs ist jedoch ein Klartextschlüssel (*entpackter Schlüssel*) auf einem Datenträger.

Nur der Eigentümer eines Schlüssels, d. h., der CU-Benutzer, der den Schlüssel erstellt hat, kann ihn exportieren. Benutzer, für die der Schlüssel freigegeben ist, können ihn in kryptografischen Vorgängen verwenden, können ihn aber nicht exportieren.

Der Vorgang **exSymKey** kopiert die Schlüsselinformationen in eine Datei, die Sie angeben, entfernt den Schlüssel jedoch nicht aus dem HSM, ändert seine [key attributes (Schlüsselattribute)](key-attribute-table.md) nicht oder verhindert, dass Sie den Schlüssel in kryptografischen Vorgänge verwenden. Sie können den gleichen Schlüssel mehrmals exportieren.

**exSymKey** exportiert nur symmetrische Schlüssel. Zum Exportieren von öffentlichen Schlüsseln verwenden Sie [exportPubKey](key_mgmt_util-exportPubKey.md). Zum Exportieren von privaten Schlüsseln verwenden Sie [exportPrivateKey](key_mgmt_util-exportPrivateKey.md).

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="exSymKey-syntax"></a>

```
exSymKey -h

exSymKey -k <key-to-export>
         -w <wrapping-key>
         -out <key-file>
         [-m 4] 
         [-wk <unwrapping-key-file> ]
```

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

Diese Beispiele zeigen, wie Sie symmetrische Schlüssel**exSymKey**, die Sie besitzen, aus Ihrem exportieren können. HSMs

**Example : Exportieren eines symmetrischen 3DES-Schlüssels**  
Mit diesem Befehl wird ein symmetrischer Triple DES (3DES)-Schlüssel exportiert (Schlüssel-Handle `7`). Er verwendet einen vorhandenen AES-Schlüssel (Schlüssel-Handle `6`) im HSM als Verpackungsschlüssel. Anschließend wird der Klartext des 3DES-Schlüssels in die Datei `3DES.key` geschrieben.  
Die Ausgabe zeigt, dass der Schlüssel `7` (der 3DES-Schlüssel) erfolgreich verpackt und entpackt und anschließend in die angegebene Datei `3DES.key` geschrieben wurde.  
Obwohl die Ausgabe besagt, dass ein „verpackter symmetrischer Schlüssel“ in die Ausgabedatei geschrieben wurden, enthält die Ausgabedatei einen (entpackten) Klartextschlüssel.

```
        Command: exSymKey -k 7 -w 6 -out 3DES.key

       Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "3DES.key"
```

**Example : Exportieren mit einem nur für die aktuelle Sitzung gültigen Verpackungsschlüssel**  
Das folgende Beispiel zeigt, wie Sie einen Schlüssel verwenden, der nur in dieser Sitzung als Verpackungsschlüssel vorhanden ist. Da der zu exportierende Schlüssel verpackt ist, anschließend sofort entpackt und als Klartext bereitgestellt wird, ist es nicht nötig, den Verpackungsschlüssel aufzubewahren.  
Anhand dieser Befehle wird ein AES-Schlüssel mit der Schlüssel-Handle `8` aus dem HSM exportiert. Dabei wird ein AES-Sitzungsschlüssel verwendet, der speziell zu diesem Zweck erstellt wurde.  
Der erste Befehl dient [genSymKey](key_mgmt_util-genSymKey.md)zur Erstellung eines 256-Bit-AES-Schlüssels. Dabei wird der `-sess`-Parameter zum Erstellen eines Schlüssels verwendet, der nur in der aktuellen Sitzung vorhanden ist.  
Die Ausgabe zeigt, dass das HSM den Schlüssel `262168` erstellt.  

```
        Command:  genSymKey -t 31 -s 32 -l AES-wrapping-key -sess

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 262168

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```
Als Nächstes wird im Beispiel sichergestellt, dass es sich bei dem Schlüssel `8`, dem zu exportierenden Schlüssel, um einen symmetrischen Schlüssel handelt, der extrahierbar ist. Außerdem wird überprüft, ob der Verpackungsschlüssel, der Schlüssel `262168`, ein AES-Schlüssel ist, der nur in dieser Sitzung vorhanden ist. Sie können den Befehl [findKey](key_mgmt_util-findKey.md) verwenden, aber in diesem Beispiel werden die Attribute beider Schlüssel in Dateien exportiert und anschließend `grep` verwendet, um die relevanten Attributwerte in der Datei zu finden.  
Diese Befehle verwenden `getAttribute` mit einem `-a` Wert von `512` (alle), um alle Attribute für die Schlüssel `8` und `262168` aufzurufen. Weitere Informationen zu den Schlüsselattributen finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  

```
getAttribute -o 8 -a 512 -out attributes/attr_8
getAttribute -o 262168 -a 512 -out attributes/attr_262168
```
Diese Befehle verwenden `grep`, um die Attribute des zu exportierenden Schlüssels (Schlüssel `8`) und des nur für die aktuelle Sitzung gültigen Verpackungsschlüssels (Schlüssel `262168`) zu überprüfen.  

```
    // Verify that the key to be exported is a symmetric key.
    $  grep -A 1 "OBJ_ATTR_CLASS" attributes/attr_8    
    OBJ_ATTR_CLASS
    0x04
   
    // Verify that the key to be exported is extractable.
    $  grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_8
    OBJ_ATTR_EXTRACTABLE
    0x00000001

    // Verify that the wrapping key is an AES key
    $  grep -A 1 "OBJ_ATTR_KEY_TYPE" attributes/attr_262168
    OBJ_ATTR_KEY_TYPE
    0x1f

    // Verify that the wrapping key is a session key
    $  grep -A 1 "OBJ_ATTR_TOKEN" attributes/attr_262168
    OBJ_ATTR_TOKEN
    0x00    
    
    // Verify that the wrapping key can be used for wrapping
     $  grep -A 1 "OBJ_ATTR_WRAP" attributes/attr_262168
    OBJ_ATTR_WRAP
    0x00000001
```
Schließlich verwenden wir den Befehl **exSymKey**, um den Schlüssel `8` mithilfe des Sitzungsschlüssels (Schlüssel `262168`) als Verpackungsschlüssel zu exportieren.  
Wenn die Sitzung beendet wird, wird der Schlüssel `262168` nicht länger vorhanden sein.  

```
        Command:  exSymKey -k 8 -w 262168 -out aes256_H8.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapHostKey returned: 0x00 : HSM Return: SUCCESS


Wrapped Symmetric Key written to file "aes256_H8.key"
```

**Example : Verwenden eines externen Entpackungsschlüssels**  
Das folgende Beispiel zeigt, wie Sie mit einem externen Entpackungsschlüssel einen Schlüssel aus dem HSM exportieren.  
Wenn Sie einen Schlüssel aus dem HSM exportieren, geben Sie einen AES-Schlüssel im HSM als Verpackungsschlüssel an. Standardmäßig wird dieser Schlüssel dazu verwendet, den zu exportierenden Schlüssel zu verpacken und zu entpacken. Sie können jedoch mithilfe des `-wk`-Parameters **exSymKey** anweisen, zum Entpacken einen externen Schlüssel in einer Datei auf einem Datenträger zu verwenden. Wenn Sie sich dafür entscheiden, verpackt der vom `-w`-Parameter angegebene Schlüssel den Ziel-Schlüssel, und der Schlüssel, der sich in der vom `-wk`-Parameter angegebenen Datei befindet, entpackt den Schlüssel.   
Da der Verpackungsschlüssel ein AES-Schlüssel sein muss, und dieser symmetrisch ist, müssen der Verpackungsschlüssel im HSM und der Entpackungsschlüssel auf dem Datenträger über die gleichen Schlüsselinformationen verfügen. Hierzu müssen Sie vor dem Exportvorgang den Verpackungsschlüssel in das HSM importieren oder den Verpackungsschlüssel aus dem HSM exportieren.   
In diesem Beispiel wird ein Schlüssel außerhalb des HSM erstellt und in das HSM importiert. Dabei wird eine interne Kopie des Schlüssels verwendet, um den zu exportierenden symmetrischen Schlüssel zu verpacken, und anschließend die Kopie des Schlüssels in der Datei dazu benutzt, um ihn zu entpacken.  
Der erste Befehl verwendet OpenSSL, um einen 256-Bit-AES-Schlüssel zu generieren. Der Schlüssel wird in der Datei `aes256-forImport.key` gespeichert. Der OpenSSL-Befehl gibt keine Ausgabe zurück, jedoch können Sie mehrere Befehle verwenden, um zu überprüfen, ob der Vorgang erfolgreich war. In diesem Beispiel wird das Tool **wc** (Wortzählung) verwendet, das bestätigt, dass die Datei 32 Byte an Daten enthält.  

```
$  openssl rand -out keys/aes256-forImport.key 32

$ wc keys/aes256-forImport.key
 0  2 32 keys/aes256-forImport.key
```
Dieser Befehl verwendet den Befehl [imSymKey](key_mgmt_util-imSymKey.md), um den AES-Schlüssel aus der Datei `aes256-forImport.key` in das HSM zu importieren. Wenn der Befehl abgeschlossen ist, ist der Schlüssel im HSM mit dem Schlüssel-Handle `262167` und in der Datei `aes256-forImport.key` vorhanden.  

```
Command:  imSymKey -f keys/aes256-forImport.key -t 31 -l aes256-imported -w 6

        Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

        Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Unwrapped.  Key Handle: 262167

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Dieser Befehl verwendet den Schlüssel in einem Exportvorgang. Der Befehl verwendet **exSymKey**, um den Schlüssel `21`, ein 192-Bit-AES-Schlüssel, zu exportieren. Um den Schlüssel zu verpacken, wird der Schlüssel `262167` verwendet. Dabei handelt es sich um die Kopie des Schlüssels, die in das HSM importiert wurde. Um den Schlüssel zu entpacken, werden die gleichen Schlüsselinformationen in der Datei `aes256-forImport.key` verwendet. Nach der Ausführung des Befehls wird der Schlüssel `21` in die Datei `aes192_h21.key` exportiert.  

```
        Command:  exSymKey -k 21 -w 262167 -out aes192_H21.key -wk aes256-forImport.key

        Cfm3WrapKey returned: 0x00 : HSM Return: SUCCESS

Wrapped Symmetric Key written to file "aes192_H21.key"
```

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

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

**-k**  
Gibt das Schlüssel-Handle des zu exportierenden Schlüssels an. Dieser Parameter muss angegeben werden. Geben Sie das Schlüssel-Handle eines symmetrischen Schlüssels ein, dessen Eigentümer Sie sind. Dieser Parameter muss angegeben werden. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Verwenden Sie den Befehl [getAttribute](key_mgmt_util-getAttribute.md), um sicherzustellen, dass ein Schlüssel exportiert werden kann, und um den Wert des Attributs `OBJ_ATTR_EXTRACTABLE` abzurufen, der von der Konstanten `354` dargestellt wird. Zudem können Sie nur Schlüssel exportieren, deren Eigentümer Sie sind. Verwenden Sie den [getKeyInfo](key_mgmt_util-getKeyInfo.md)Befehl, um den Besitzer eines Schlüssels zu ermitteln.  
Erforderlich: Ja

**-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 *Verpackungsschlüssel* ist ein Schlüssel im HSM, der zum Verschlüsseln (Verpacken) und zum anschließenden Entschlüsseln (Entpacken) des zu exportierenden Schlüssels verwendet wird. 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. Verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md), um zu überprüfen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann, und um den Wert des `OBJ_ATTR_WRAP`-Attributs abzurufen, der von der Konstanten `262` dargestellt wird. 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 Entschlüsselungsschlüssels verwenden, wird der `-w`-Schlüssel während des Exportvorgangs zum Verpacken, aber nicht zum Entpacken des Schlüssels verwendet.  
Schlüssel 4 stellt einen nicht unterstützten internen Schlüssel dar. Wir empfehlen, dass Sie einen AES-Schlüssel als Umhüllungsschlüssel verwenden, den Sie erstellen und verwalten.
Erforderlich: Ja

**-out**  
Gibt den Pfad und Namen der Ausgabedatei an. Wenn der Befehl erfolgreich ist, enthält diese Datei den exportierten Schlüssel als Klartext. Wenn die Datei bereits vorhanden ist, überschreibt der Befehl sie ohne Warnung.  
Erforderlich: Ja

**-m**  
Gibt den Verpackungsmechanismus an. Der einzige gültige Wert ist `4`, der den `NIST_AES_WRAP`-Mechanismus darstellt.  
Erforderlich: Nein  
Standard: 4

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

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

# Extrahieren Sie einen AWS CloudHSM Schlüssel mit KMU
<a name="key_mgmt_util-extractMaskedObject"></a>

Verwenden Sie den **extractMaskedObject** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen Schlüssel aus einem Hardware-Sicherheitsmodul (HSM) zu extrahieren und ihn als maskiertes Objekt in einer Datei zu speichern. Maskierte Objekte sind *geklonte* Objekte, die nur verwendet werden können, nachdem sie anhand des Befehls **[insertMaskedObject](key_mgmt_util-insertMaskedObject.md)** wieder in den ursprünglichen Cluster eingefügt wurden. Sie können ein maskiertes Objekt nur in den Cluster einfügen, aus dem es erstellt wurde (oder in eine geklonte Version dieses Clusters). Dies umfasst alle geklonten Clusterversionen, die durch eine [regionsübergreifende Sicherungskopie](copy-backup-to-region.md) und die anschließende [Verwendung dieser Sicherung zum Erstellen eines neuen Clusters](create-cluster-from-backup.md) generiert wurden.

Maskierte Objekte sind eine effiziente Möglichkeit zum Auslagern und Synchronisieren von Schlüsseln, auch von nicht extrahierbaren Schlüsseln (d. h. Schlüssel mit einem [`OBJ_ATTR_EXTRACTABLE`](key-attribute-table.md)-Wert von `0`). [Auf diese Weise können Schlüssel sicher zwischen verwandten Clustern in verschiedenen Regionen synchronisiert werden, ohne dass die Konfigurationsdatei aktualisiert werden muss. AWS CloudHSM](configure-tool.md)

**Wichtig**  
Nach dem Einfügen werden maskierte Objekte entschlüsselt und mit einem Schlüssel-Handle versehen, das sich vom Schlüssel-Handle des ursprünglichen Schlüssels unterscheidet. Ein maskiertes Objekt enthält alle dem ursprünglichen Schlüssel zugeordneten Metadaten, einschließlich Attributen, Eigentümerschaft, der gemeinsamen Nutzung von Informationen und Quorum-Einstellungen. Wenn Sie in einer Anwendung Schlüssel zwischen Clustern synchronisieren müssen, verwenden Sie stattdessen [syncKey](cloudhsm_mgmt_util-syncKey.md) im cloudhsm\$1mgmt\$1util.

Bevor Sie einen key\$1mgmt\$1util-Befehl ausführen, müssen Sie [key\$1mgmt\$1util](key_mgmt_util-setup.md#key_mgmt_util-start) starten und sich beim [HSM](key_mgmt_util-log-in.md) anmelden. Der Befehl **extractMaskedObject** kann entweder vom CU, der den Schlüssel besitzt, oder von einem beliebigen CO genutzt werden.

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

```
extractMaskedObject -h

extractMaskedObject -o <object-handle>
                    -out <object-file>
```

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

In diesem Beispiel wird gezeigt, wie Sie **extractMaskedObject** verwenden, um einen Schlüssel als maskiertes Objekt aus einem HSM zu extrahieren.

**Example : Extrahieren eines maskierten Objekts**  
Dieser Befehl extrahiert in einem HSM aus einem Schlüssel mit dem Handle `524295` ein maskiertes Objekt und speichert es als Datei mit dem Namen `maskedObj`. Wird der Befehl erfolgreich ausgeführt, gibt **extractMaskedObject** eine Erfolgsmeldung zurück.  

```
Command: extractMaskedObject -o 524295 -out maskedObj

Object was masked and written to file "maskedObj"

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

## Parameters
<a name="extractMaskedObject-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-o`**  
Gibt das Handle des Schlüssels an, der als maskiertes Objekt extrahiert werden soll.  
Erforderlich: Ja

**`-out`**  
Gibt den Namen der Datei an, in die das maskierte Objekt gespeichert werden soll.  
Erforderlich: Ja

## Verwandte Themen
<a name="extractMaskedObject-seealso"></a>
+ [insertMaskedObject](key_mgmt_util-insertMaskedObject.md)
+ [syncKey](cloudhsm_mgmt_util-syncKey.md)
+ [Regionsübergreifendes Kopieren einer Sicherung](copy-backup-to-region.md)
+ [Einen AWS CloudHSM Cluster aus einem vorherigen Backup erstellen](create-cluster-from-backup.md)

# Suchen Sie mithilfe von KMU nach AWS CloudHSM Schlüsseln anhand von Attributen
<a name="key_mgmt_util-findKey"></a>

Verwenden Sie den **findKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um anhand der Werte der Schlüsselattribute nach Schlüsseln zu suchen. Wenn ein Schlüssel allen Kriterien entspricht, die Sie festlegen, gibt **findKey** das Schlüssel-Handle zurück. Ohne Parameter gibt **findKey** die Schlüssel-Handles aller Schlüssel zurück, die Sie im HSM verwenden können. Verwenden Sie für die Suche der Attributwerte eines bestimmten Schlüssels den Befehl [getAttribute](key_mgmt_util-getAttribute.md).

Wie alle key\$1mgmt\$1util-Befehle ist **findKey** benutzerspezifisch. Der Befehl gibt nur die Schlüssel zurück, die der aktuelle Benutzer in kryptografischen Operationen verwenden kann. Dies umfasst Schlüssel, die der aktuelle Benutzer besitzt und Schlüssel, die für ihn freigegeben wurden. 

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="findKey-syntax"></a>

```
findKey -h 

findKey [-c <key class>] 
        [-t <key type>]
        [-l <key label>] 
        [-id <key ID>]
        [-sess (0 | 1)] 
        [-u <user-ids>]
        [-m <modulus>]
        [-kcv <key_check_value>]
```

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

Diese Beispiele zeigen, wie Sie Schlüssel in Ihrem finden und **findKey** identifizieren können. HSMs

**Example : Suchen nach allen Schlüsseln**  
Mit diesem Befehl werden alle Schlüssel für den aktuellen Benutzer im HSM gesucht. Die Ausgabe umfasst Schlüssel, die der Benutzer besitzt und teilt, sowie alle öffentlichen Schlüssel in der HSMs.  
Verwenden Sie zum Abrufen der Attribute eines Schlüssels mit einem bestimmten Schlüssel-Handle den Befehl [getAttribute](key_mgmt_util-getAttribute.md). Um festzustellen, ob der aktuelle Benutzer einen bestimmten Schlüssel besitzt oder mit anderen teilt, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md)oder [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)in cloudhsm\$1mgmt\$1util.  

```
Command: findKey

Total number of keys present 13

 number of keys matched from start index 0::12
6, 7, 524296, 9, 262154, 262155, 262156, 262157, 262158, 262159, 262160, 262161, 262162

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

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

**Example : Suchen von Schlüsseln nach Typ, Benutzer und Sitzung**  
Mit diesem Befehl werden persistente AES-Schlüssel gesucht, die vom aktuellen Benutzer und von Benutzer 3 verwendet werden können. (Benutzer 3 kann möglicherweise andere Schlüssel verwenden, die der aktuelle Benutzer nicht sehen kann.)  

```
Command: findKey -t 31 -sess 0 -u 3
```

**Example : Suchen von Schlüsseln nach Klasse und Beschriftung**  
Mit diesem Befehl werden alle öffentlichen Schlüssel für den aktuellen Benutzer mit der Beschriftung `2018-sept` gesucht.  

```
Command: findKey -c 2 -l 2018-sept
```

**Example : Suchen von RSA-Schlüsseln nach Modulus**  
Mit diesem Befehl können Sie RSA-Schlüssel (Typ 0) für den aktuellen Benutzer suchen, die mit dem Modulus in der Datei `m4.txt` erstellt wurden.  

```
Command: findKey -t 0 -m m4.txt
```

## Parameters
<a name="findKey-parameters"></a>

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

**-t**  
Sucht Schlüssel des angegebenen Typs. Geben Sie die Konstante ein, die die Schlüsselklasse darstellt. Geben Sie beispielsweise `-t 21` ein, um 3DES-Schlüssel zu suchen.  
Zulässige Werte:   
+ 0: [RSA](https://en.wikipedia.org/wiki/RSA_(cryptosystem))
+ 1: [DSA](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)
+ 3: [EC](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography)
+ 16: [GENERIC\$1SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962)
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4)
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES)
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Erforderlich: Nein

**-c**  
Sucht Schlüssel in der angegebenen Klasse. Geben Sie die Konstante ein, die die Schlüsselklasse darstellt. Geben Sie beispielsweise `-c 2` ein, um öffentliche Schlüssel zu suchen.  
Gültige Werte für jeden Schlüsseltyp:  
+ 2: Public. Diese Klasse enthält die öffentlichen Schlüssel der öffentlich-privaten Schlüsselpaare.
+ 3: Private. Diese Klasse enthält die privaten Schlüssel der öffentlich-privaten Schlüsselpaare.
+ 4: Secret. Diese Klasse enthält alle symmetrischen Schlüssel.
Erforderlich: Nein

**-l**  
Sucht Schlüssel mit der angegebenen Beschriftung. Geben Sie die genaue Beschriftung ein. Sie können keine Platzhalter oder regulären Ausdrücke im Wert `--l` verwenden.  
Erforderlich: Nein

**-id**  
Sucht den Schlüssel mit der angegebenen ID. Geben Sie die genaue ID-Zeichenfolge ein. Sie können keine Platzhalter oder regulären Ausdrücke im Wert `-id` verwenden.  
Erforderlich: Nein

**-sess**  
Sucht Schlüssel nach Sitzungsstatus. Geben Sie für die Suche nach Schlüsseln, die nur in der aktuellen Sitzung gültig sind, `1` ein. Geben Sie für die Suche nach persistenten Schlüsseln `0` ein.  
Erforderlich: Nein

**-u**  
Sucht Schlüssel, die von den angegebenen Benutzern und dem aktuellen Benutzer gemeinsam verwendet werden. Geben Sie eine durch Kommas getrennte Liste von HSM-Benutzern ein IDs, z. B. oder. `-u 3` `-u 4,7` Verwenden Sie IDs [ListUsers](key_mgmt_util-listUsers.md), um die Benutzer auf einem HSM zu finden.  
Wenn Sie eine Benutzer-ID angeben, gibt **findKey** den Schlüssel für diesen Benutzer zurück. Wenn Sie mehrere Benutzer angeben IDs, werden die Schlüssel **findKey** zurückgegeben, die alle angegebenen Benutzer verwenden können.  
Da **findKey** nur Schlüssel zurückgibt, die der aktuelle Benutzer verwenden kann, sind die `-u`-Ergebnisse immer identisch oder eine Teilmenge der Schlüssel des aktuellen Benutzers. Um alle Schlüssel abzurufen, die einem Benutzer gehören oder mit diesem geteilt werden, können Crypto Officers (COs) [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)in cloudhsm\$1mgmt\$1util verwenden.  
Erforderlich: Nein

**-m**  
Sucht Schlüssel, die mit dem RSA-Modulus in der angegebenen Datei erstellt wurden. Geben Sie den Pfad zur Datei ein, in der der Modulus gespeichert ist.  
-m gibt die Binärdatei an, die den RSA-Modul enthält, mit dem abgeglichen werden soll (optional).  
Erforderlich: Nein

**-kcv**  
Sucht Schlüssel mit dem angegebenen Schlüsselprüfwert.  
Der *Schlüsselprüfwert* (KCV) ist ein 3-Byte-Hash oder eine Prüfsumme eines Schlüssels, der generiert wird, wenn das HSM einen Schlüssel importiert oder generiert. Sie können einen KCV auch außerhalb des HSM berechnen, z. B. nachdem Sie einen Schlüssel exportiert haben. Anschließend können Sie die KCVs vergleichen, um die Identität und Integrität des Schlüssels zu bestätigen. Um den KCV eines Schlüssels abzurufen, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md).  
AWS CloudHSM verwendet die folgende Standardmethode, um einen Schlüsselprüfwert zu generieren:  
+ **Symmetrische Schlüssel**: Die ersten 3 Byte des Ergebnisses der Verschlüsselung eines Nullblocks mit dem Schlüssel.
+ **Asymmetrische Schlüsselpaare**: Die ersten 3 Byte des SHA-1-Hashs des öffentlichen Schlüssels.
+ **HMAC-Schlüssel**: KCV für HMAC-Schlüssel wird derzeit nicht unterstützt.
Erforderlich: Nein

## Ausgabe
<a name="findKey-output"></a>

Die Ausgabe des Befehls **findKey** enthält die Gesamtanzahl der übereinstimmenden Schlüssel und ihrer Schlüssel-Handles.

```
        Command:  findKey
Total number of keys present 10

 number of keys matched from start index 0::9
6, 7, 8, 9, 10, 11, 262156, 262157, 262158, 262159

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

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

## Verwandte Themen
<a name="findKey-seealso"></a>
+ [findSingleKey](key_mgmt_util-findSingleKey.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)in cloudhsm\$1mgmt\$1util
+ [Schlüsselattributreferenz](key-attribute-table.md)

# Verifizieren Sie einen AWS CloudHSM Schlüssel mit KMU
<a name="key_mgmt_util-findSingleKey"></a>

Verwenden Sie den **findSingleKey** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um zu überprüfen, ob ein Schlüssel auf allen Hardware-Sicherheitsmodulen (HSM) im Cluster vorhanden ist. AWS CloudHSM 

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="findSingleKey-syntax"></a>

```
findSingleKey -h

findSingleKey -k <key-handle>
```

## Beispiel
<a name="findSingleKey-examples"></a>

**Example**  
Mit diesem Befehl wird überprüft, ob der Schlüssel `252136` auf allen drei im Cluster vorhanden ist. HSMs   

```
Command: findSingleKey -k 252136
Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS

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

## Parameters
<a name="findSingleKey-parameters"></a>

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

**-k**  
Gibt das Schlüssel-Handle eines Schlüssels im HSM an. Dieser Parameter muss angegeben werden.   
Verwenden Sie den [findKey](key_mgmt_util-listUsers.md)-Befehl, um Schlüssel-Handles zu finden.  
Erforderlich: Ja

## Verwandte Themen
<a name="findSingleKey-seealso"></a>
+ [findKey](key_mgmt_util-listUsers.md)
+ [getKeyInfo](key_mgmt_util-listUsers.md)
+ [getAttribute](key_mgmt_util-findKey.md)

# Generieren Sie ein AWS CloudHSM DSA-Schlüsselpaar mit KMU
<a name="key_mgmt_util-genDSAKeyPair"></a>

Verwenden Sie den **genDSAKeyPair** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um ein DSA-Schlüsselpaar ([Digital Signing Algorithm](https://en.wikipedia.org/wiki/Digital_Signature_Algorithm)) in Ihren Hardware-Sicherheitsmodulen (HSM) zu generieren. Sie müssen die Modullänge angeben, der Befehl generiert den Modulwert. Sie können auch eine ID zuweisen, den Schlüssel für andere HSM-Benutzer freigeben sowie nicht extrahierbare Schlüssel und Schlüssel, die bei Sitzungsende ablaufen, erstellen. Wenn der Befehl erfolgreich ausgeführt wurde, werden die *Schlüssel-Handles* zurückgegeben, die das HSM den öffentlichen und privaten ECC-Schlüsseln zuweist. Sie können die Schlüssel-Handles nutzen, damit die Schlüssel für andere Befehle identifizierbar sind.

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). 

**Tipp**  
Um die Attribute eines von Ihnen erstellten Schlüssels wie Typ, Länge, Bezeichnung und ID zu finden, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md). Um die Schlüssel für einen bestimmten Benutzer zu finden, verwenden Sie. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Verwenden Sie [findKey](key_mgmt_util-findKey.md), um Schlüssel anhand ihrer Attributwerte zu finden. 

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

```
genDSAKeyPair -h

genDSAKeyPair -m <modulus length> 
              -l <label> 
              [-id <key ID>] 
              [-min_srv <minimum number of servers>] 
              [-m_value <0..8>]
              [-nex] 
              [-sess] 
              [-timeout <number of seconds> ]
              [-u <user-ids>] 
              [-attest]
```

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

Diese Beispiele verdeutlichen, wie mit **genDSAKeyPair** ein DSA-Schlüsselpaar erstellt wird.

**Example : Erstellen eines DSA-Schlüsselpaares**  
Mit diesem Befehl wird ein DSA-Schlüsselpaar mit einem `DSA`-Label erstellt. Die Ausgabe zeigt, dass das Schlüssel-Handle des öffentlichen Schlüssels `19` ist, und dass das Schlüssel-Handle des privaten Schlüssels `21` lautet.  

```
Command: genDSAKeyPair -m 2048 -l DSA

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 19    private key handle: 21

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

**Example : Erstellen eines DSA-Schlüsselpaares, das nur für eine Sitzung gültig ist**  
Mit diesem Befehl wird ein DSA-Schlüsselpaar erstellt, das nur für die aktuelle Sitzung gültig ist. Der Befehl weist zusätzlich zu der erforderlichen (nicht eindeutigen) Bezeichnung eine eindeutige ID von `DSA_temp_pair` zu. Sie können ein solches Schlüsselpaar erstellen, um ein nur für diese Sitzung gültiges Token zu signieren und zu überprüfen. Die Ausgabe zeigt, dass das Schlüssel-Handle des öffentlichen Schlüssels `12` ist, und dass das Schlüssel-Handle des privaten Schlüssels `14` lautet.  

```
Command: genDSAKeyPair -m 2048 -l DSA-temp -id DSA_temp_pair -sess

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 14

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Um zu überprüfen, ob das Schlüsselpaar nur in der Sitzung vorhanden ist, verwenden Sie den `-sess`-Parameter von [findKey](key_mgmt_util-findKey.md) mit einem Wert von `1` (true).  

```
  Command: findKey -sess 1

  Total number of keys present 2

 number of keys matched from start index 0::1
12, 14

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

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

**Example : Erstellen eines freigegebenen, unextrahierbaren DSA-Schlüsselpaares**  
Mit diesem Befehl wird ein DSA-Schlüsselpaar erstellt. Der private Schlüssel wird mit drei anderen Benutzern geteilt und kann nicht aus dem HSM exportiert werden. Öffentliche Schlüssel können von jedem Benutzer verwendet und immer extrahiert werden.   

```
        Command:  genDSAKeyPair -m 2048 -l DSA -id DSA_shared_pair -nex -u 3,5,6

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 11    private key handle: 19

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

**Example : Erstellen eines Quorum-kontrollierten Schlüsselpaares**  
Mit diesem Befehl wird ein DSA-Schlüsselpaar mit der Bezeichnung `DSA-mV2` erstellt. Der Befehl verwendet den `-u`-Parameter, um den privaten Schlüssel für die Benutzer 4 und 6 freizugeben. Er verwendet den `-m_value`-Parameter, damit für alle kryptografischen Vorgänge, die den privaten Schlüssel verwenden, ein Quorum aus mindestens zwei Genehmigungen erforderlich ist. Der Befehl verwendet auch den `-attest`-Parameter, um die Integrität der Firmware zu überprüfen, auf der das Schlüsselpaar generiert wird.  
Die Ausgabe zeigt, dass der Befehl einen öffentlichen Schlüssel mit dem Schlüssel-Handle `12` und einen privaten Schlüssel mit dem Schlüssel-Handle `17` generiert, und dass die Bescheinigungsprüfung auf der Cluster-Firmware erfolgreich bestanden wurde.  

```
        Command:  genDSAKeyPair -m 2048 -l DSA-mV2 -m_value 2 -u 4,6 -attest

        Cfm3GenerateKeyPair: returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 12    private key handle: 17

        Attestation Check : [PASS]

        Cluster Error Status
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Dieser Befehl verwendet [getKeyInfo](key_mgmt_util-getKeyInfo.md)den privaten Schlüssel (Schlüsselname`17`). Die Ausgabe bestätigt, dass es sich bei dem Eigentümer um den aktuellen Benutzer (Benutzer 3) handelt, und dass der Schlüssel mit den Benutzern 4 und 6 (und keinen anderen) geteilt wird. Die Ausgabe zeigt zudem, dass die Quorum-Authentifizierung aktiviert ist und die Quorumgröße 2 beträgt.  

```
        Command:  getKeyInfo -k 17

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

                 4
                 6
         2 Users need to approve to use/manage this key
```

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

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

**-m**  
Gibt die Länge des Moduls in Bits an. Der einzige gültige Wert ist `2048`.  
Erforderlich: Ja

**-l**  
Gibt eine benutzerdefinierte Bezeichnung für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein. Dieselbe Bezeichnung gilt für beide Schlüssel im Paar. Die maximal zulässige Größe für `label` beträgt 127 Zeichen.  
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

**-id**  
Gibt einen benutzerdefinierten Bezeichner für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge. Die von Ihnen angegebene ID gilt für beide Schlüssel im Paar.  
Standard : Kein ID-Wert.  
Erforderlich: Nein

**-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

**-m\$1value**  
Gibt die Anzahl der Benutzer an, die jede kryptografische Operation genehmigen müssen, die den privaten Schlüssel des Paares verwendet. Geben Sie einen Wert von `0` bis `8` ein.  
Dieser Parameter legt eine Quorum-Authentifizierungsanforderung für den privaten Schlüssel fest. Der Standardwert, `0`, deaktiviert die Quorum-Authentifizierungsfunktion für den Schlüssel. Wenn die Quorumauthentifizierung aktiviert ist, muss die angegebene Anzahl von Benutzern ein Token signieren, um kryptografische Operationen, bei denen der private Schlüssel verwendet wird, sowie Operationen, bei denen der private Schlüssel gemeinsam genutzt oder die gemeinsame Nutzung aufgehoben wird, zu genehmigen.  
Um den Wert `m_value` eines Schlüssels zu ermitteln, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Dieser Parameter ist nur gültig, wenn der `-u`-Parameter im Befehl das Schlüsselpaar für ausreichend Benutzer freigibt, um die `m_value`-Anforderung zu erfüllen.  
Standard: 0  
Erforderlich: Nein

**-nex**  
Macht den privaten Schlüssel nicht extrahierbar. Der generierte private Schlüssel kann nicht [aus dem HSM exportiert](export-keys.md) werden. Öffentliche Schlüssel sind immer extrahierbar.  
Standard: Sowohl der öffentliche als auch der private Schlüssel im Schlüsselpaar können extrahiert werden.  
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 ein Schlüssel mit der im `min_srv` Parameter HSMs angegebenen Anzahl von synchronisiert wird.   
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

**-u**  
Teilt den privaten Schlüssel des Paares mit den angegebenen Benutzern. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, den privaten Schlüssel für kryptografische Operationen zu verwenden. Öffentliche Schlüssel können von jedem Benutzer verwendet werden, ohne sie zu teilen.  
Geben Sie 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. [Um den HSM-Benutzer IDs von CUs auf dem HSM zu finden, verwenden Sie ListUsers.](key_mgmt_util-listUsers.md) Nutzen Sie zum Freigeben oder zum Aufheben der Freigabe vorhandener Schlüssel [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\$1mgmt\$1util.   
Standard: Nur der aktuelle Benutzer kann den privaten Schlüssel verwenden.   
Erforderlich: Nein

**-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

## Verwandte Themen
<a name="genDSAKeyPair-seealso"></a>
+ [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [ECCKeyGen-Paar](key_mgmt_util-genECCKeyPair.md)

# Generieren Sie ein AWS CloudHSM ECC-Schlüsselpaar mit KMU
<a name="key_mgmt_util-genECCKeyPair"></a>

Verwenden Sie den `genECCKeyPair` Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um ein ECC-Schlüsselpaar ([Elliptic Curve Cryptography) in Ihren Hardware-Sicherheitsmodulen](https://en.wikipedia.org/wiki/Elliptic-curve_cryptography) (HSM) zu generieren. Beim Ausführen des `genECCKeyPair`-Befehls müssen Sie die elliptische Kurvenkennung und eine Beschriftung für das Schlüsselpaar angeben. Sie können den privaten Schlüssel auch mit anderen CU-Benutzern teilen sowie nicht extrahierbare Schlüssel, Quorum-kontrollierte Schlüssel und Schlüssel, die bei Sitzungsende ablaufen, erstellen. Wenn der Befehl erfolgreich ausgeführt wurde, werden die Schlüssel-Handle zurückgegeben, die das HSM zu den öffentlichen und privaten ECC-Schlüsseln zuweist. Sie können die Schlüssel-Handles nutzen, damit die Schlüssel für andere Befehle identifizierbar sind.

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). 

**Tipp**  
Um die Attribute eines von Ihnen erstellten Schlüssels wie Typ, Länge, Bezeichnung und ID zu finden, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md). Um die Schlüssel für einen bestimmten Benutzer zu finden, verwenden Sie. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Verwenden Sie [findKey](key_mgmt_util-findKey.md), um Schlüssel anhand ihrer Attributwerte zu finden. 

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

```
genECCKeyPair -h

genECCKeyPair -i <EC curve id> 
              -l <label> 
              [-id <key ID>]
              [-min_srv <minimum number of servers>]
              [-m_value <0..8>]
              [-nex]
              [-sess]
              [-timeout <number of seconds> ]
              [-u <user-ids>]
              [-attest]
```

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

Die folgenden Beispiele zeigen, wie Sie **genECCKeyPair** ECC-Schlüsselpaare in Ihrem HSMs erstellen können.

**Example : Erstellen und Untersuchen eines ECC-Schlüsselpaars**  
Mit diesem Befehl wird ein ECC-Schlüsselpaar mithilfe einer elliptischen Kurve vom Typ NID\$1secp384r1 und der Bezeichnung `ecc14` erstellt. Die Ausgabe zeigt, dass das Schlüssel-Handle des privaten Schlüssels `262177` ist und das Schlüssel-Handle des öffentlichen Schlüssels `262179`. Die Bezeichnung gilt sowohl für den öffentlichen als auch den privaten Schlüssel.  

```
Command: genECCKeyPair -i 14 -l ecc14

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 262179    private key handle: 262177

        Cluster Error Status
        Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Nach dem Generieren des Schlüssels können Sie seine Attribute untersuchen. Verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md), um alle Attribute (dargestellt durch die Konstante `512`) des neuen privaten ECC-Schlüssels in die Datei `attr_262177` zu schreiben.  

```
Command: getAttribute -o 262177 -a 512 -out attr_262177
got all attributes of size 529 attr cnt 19
Attributes dumped into attr_262177

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS
```
Verwenden Sie dann den `cat`-Befehl, um den Inhalt der `attr_262177`-Attributdatei anzuzeigen. Die Ausgabe zeigt, dass der Schlüssel ein privater Ellipsenkurvenschlüssel ist, der zum Signieren, aber nicht zum Verschlüsseln, Entschlüsseln, Verpacken, Entpacken oder Verifizieren verwendet werden kann. Der Schlüssel ist persistent und exportierbar.  

```
$  cat attr_262177

OBJ_ATTR_CLASS
0x03
OBJ_ATTR_KEY_TYPE
0x03
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x00
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x01
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
ecc2
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x0000008a
OBJ_ATTR_KCV
0xbbb32a
OBJ_ATTR_MODULUS
044a0f9d01d10f7437d9fa20995f0cc742552e5ba16d3d7e9a65a33e20ad3e569e68eb62477a9960a87911e6121d112b698e469a0329a665eba74ee5ac55eae9f5
OBJ_ATTR_MODULUS_BITS
0x0000019f
```

**Example Verwenden einer ungültigen EEC-Kurve**  
Mit diesem Befehl wird ein ECC-Schlüsselpaar mithilfe einer NID\$1X9\$162\$1prime192v1-Kurve erstellt. Da diese elliptische Kurve für den FIPS-Modus HSMs nicht gültig ist, schlägt der Befehl fehl. In der Meldung wird gemeldet, dass ein Server im Cluster nicht verfügbar ist. Dies deutet jedoch normalerweise nicht auf ein Problem mit dem im HSMs Cluster hin.  

```
Command:  genECCKeyPair -i 1 -l ecc1

        Cfm3GenerateKeyPair returned: 0xb3 : HSM Error: This operation violates the current configured/FIPS policies

        Cluster Error Status
        Node id 0 and err state 0x30000085 : HSM CLUSTER ERROR: Server in cluster is unavailable
```

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

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

**-i **  
Gibt die ID für die elliptische Kurve an. Geben Sie eine ID ein.   
Zulässige Werte:   
+ **2**: NID\$1X9\$162\$1prime256v1
+ **14**: NID\$1secp384r1
+ **16**: NID\$1secp256k1
Erforderlich: Ja

**-l**  
Gibt eine benutzerdefinierte Bezeichnung für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein. Dieselbe Bezeichnung gilt für beide Schlüssel im Paar. Die maximal zulässige Größe für `label` beträgt 127 Zeichen.  
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

**-id**  
Gibt einen benutzerdefinierten Bezeichner für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge. Die von Ihnen angegebene ID gilt für beide Schlüssel im Paar.  
Standard : Kein ID-Wert.  
Erforderlich: Nein

**-min\$1srv**  
Gibt die Mindestanzahl HSMs an, für die 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

**-m\$1value**  
Gibt die Anzahl der Benutzer an, die jede kryptografische Operation genehmigen müssen, die den privaten Schlüssel des Paares verwendet. Geben Sie einen Wert von `0` bis `8` ein.  
Dieser Parameter legt eine Quorum-Authentifizierungsanforderung für den privaten Schlüssel fest. Der Standardwert, `0`, deaktiviert die Quorum-Authentifizierungsfunktion für den Schlüssel. Wenn die Quorumauthentifizierung aktiviert ist, muss die angegebene Anzahl von Benutzern ein Token signieren, um kryptografische Operationen, bei denen der private Schlüssel verwendet wird, sowie Operationen, bei denen der private Schlüssel gemeinsam genutzt oder die gemeinsame Nutzung aufgehoben wird, zu genehmigen.  
Um den Wert `m_value` eines Schlüssels zu ermitteln, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Dieser Parameter ist nur gültig, wenn der `-u`-Parameter im Befehl das Schlüsselpaar für ausreichend Benutzer freigibt, um die `m_value`-Anforderung zu erfüllen.  
Standard: 0  
Erforderlich: Nein

**-nex**  
Macht den privaten Schlüssel nicht extrahierbar. Der generierte private Schlüssel kann nicht [aus dem HSM exportiert](export-keys.md) werden. Öffentliche Schlüssel sind immer extrahierbar.  
Standard: Sowohl der öffentliche als auch der private Schlüssel im Schlüsselpaar können extrahiert werden.  
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 ein Schlüssel mit der im `min_srv` Parameter HSMs angegebenen Anzahl von synchronisiert wird.   
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

**-u**  
Teilt den privaten Schlüssel des Paares mit den angegebenen Benutzern. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, den privaten Schlüssel für kryptografische Operationen zu verwenden. Öffentliche Schlüssel können von jedem Benutzer verwendet werden, ohne sie zu teilen.  
Geben Sie 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. [Um den HSM-Benutzer IDs von CUs auf dem HSM zu finden, verwenden Sie ListUsers.](key_mgmt_util-listUsers.md) Nutzen Sie zum Freigeben oder zum Aufheben der Freigabe vorhandener Schlüssel [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\$1mgmt\$1util.   
Standard: Nur der aktuelle Benutzer kann den privaten Schlüssel verwenden.   
Erforderlich: Nein

**-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

## Verwandte Themen
<a name="genECCKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeyGen-Paar](key_mgmt_util-genDSAKeyPair.md)

# Generieren Sie ein AWS CloudHSM RSA-Schlüsselpaar mit KMU
<a name="key_mgmt_util-genRSAKeyPair"></a>

[Verwenden Sie den **genRSAKeyPair** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um ein asymmetrisches RSA-Schlüsselpaar zu generieren.](https://en.wikipedia.org/wiki/RSA_(cryptosystem)) Sie geben den Schlüsseltyp, die Modullänge und einen öffentlichen Exponenten an. Der Befehl generiert ein Modul der angegebenen Länge und erstellt das Schlüsselpaar. Sie können eine ID zuweisen, den Schlüssel mit anderen HSM-Benutzern teilen und nicht extrahierbare Schlüssel sowie Schlüssel, die bei Sitzungsende ablaufen, erstellen. Wenn der Befehl erfolgreich ausgeführt wurde, wird ein Schlüssel-Handle zurückgegeben, das das HSM zum Schlüssel zuweist. Sie können das Schlüssel-Handle nutzen, damit der Schlüssel für andere Befehle identifizierbar ist.

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). 

**Tipp**  
Um die Attribute eines von Ihnen erstellten Schlüssels wie Typ, Länge, Bezeichnung und ID zu finden, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md). Um die Schlüssel für einen bestimmten Benutzer zu finden, verwenden Sie. [getKeyInfo](key_mgmt_util-getKeyInfo.md) Verwenden Sie [findKey](key_mgmt_util-findKey.md), um Schlüssel anhand ihrer Attributwerte zu finden. 

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

```
genRSAKeyPair -h

genRSAKeyPair -m <modulus length>
              -e <public exponent> 
              -l <label> 
              [-id <key ID>] 
              [-min_srv <minimum number of servers>] 
              [-m_value <0..8>]
              [-nex] 
              [-sess] 
              [-timeout <number of seconds> ]
              [-u <user-ids>] 
              [-attest]
```

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

Diese Beispiele zeigen, wie Sie **genRSAKeyPair** asymmetrische Schlüsselpaare in Ihrem HSMs erstellen können.

**Example : Erstellen und Untersuchen eines RSA-Schlüsselpaars**  
Mit diesem Befehl wird ein RSA-Schlüsselpaar mit einem 2048-Bit-Modul und einem Exponenten von 65537 erstellt. Die Ausgabe zeigt, dass das Schlüssel-Handle des öffentlichen Schlüssels `2100177` ist und das Schlüssel-Handle des privaten Schlüssels `2100426`.  

```
Command: genRSAKeyPair -m 2048 -e 65537 -l rsa_test 

Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 2100177    private key handle: 2100426

        Cluster Status:
        Node id 0 status: 0x00000000 : HSM Return: SUCCESS
        Node id 1 status: 0x00000000 : HSM Return: SUCCESS
```
Der nächste Befehl nutzt [getAttribute](key_mgmt_util-getAttribute.md), um die Attribute des öffentlichen Schlüssels abzurufen, den wir gerade erstellt haben. Die Ausgabe wird in die Datei `attr_2100177` geschrieben. Auf diesen folgt ein **cat**-Befehl, der den Inhalt der Attribut-Datei abruft. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  
Die resultierenden Hexadezimalwerte bestätigen, dass es sich um einen öffentliche Schlüssel (`OBJ_ATTR_CLASS 0x02`) mit einem RSA-Typ von (`OBJ_ATTR_KEY_TYPE 0x00`) handelt. Sie können mit diesem öffentlichen Schlüssel (`OBJ_ATTR_ENCRYPT 0x01`) verschlüsseln, aber nicht (`OBJ_ATTR_DECRYPT 0x00`) entschlüsseln. Die Ergebnisse können auch die Schlüssellänge (512, `0x200`), das Modul, die Modullänge (2048, `0x800`) und den öffentlichen Exponenten (65537, `0x10001`) enthalten.  

```
Command:  getAttribute -o 2100177 -a 512 -out attr_2100177

Attribute size: 801, count: 26
Written to: attr_2100177 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS

$  cat attr_2100177
OBJ_ATTR_CLASS
0x02
OBJ_ATTR_KEY_TYPE
0x00
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x00
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x01
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x00
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
rsa_test
OBJ_ATTR_ID

OBJ_ATTR_VALUE_LEN
0x00000200
OBJ_ATTR_KCV
0xc51c18
OBJ_ATTR_MODULUS
0xbb9301cc362c1d9724eb93da8adab0364296bde7124a241087d9436b9be57e4f7780040df03c2c
1c0fe6e3b61aa83c205280119452868f66541bbbffacbbe787b8284fc81deaeef2b8ec0ba25a077d
6983c77a1de7b17cbe8e15b203868704c6452c2810344a7f2736012424cf0703cf15a37183a1d2d0
97240829f8f90b063dd3a41171402b162578d581980976653935431da0c1260bfe756d85dca63857
d9f27a541676cb9c7def0ef6a2a89c9b9304bcac16fdf8183c0a555421f9ad5dfeb534cf26b65873
970cdf1a07484f1c128b53e10209cc6f7ac308669112968c81a5de408e7f644fe58b1a9ae1286fec
b3e4203294a96fae06f8f0db7982cb5d7f
OBJ_ATTR_MODULUS_BITS
0x00000800
OBJ_ATTR_PUBLIC_EXPONENT
0x010001
OBJ_ATTR_TRUSTED
0x00
OBJ_ATTR_WRAP_WITH_TRUSTED
0x00
OBJ_ATTR_DESTROYABLE
0x01
OBJ_ATTR_DERIVE
0x00
OBJ_ATTR_ALWAYS_SENSITIVE
0x00
OBJ_ATTR_NEVER_EXTRACTABLE
0x00
```

**Example : Generieren eines freigegebenen RSA-Schlüsselpaars**  
Dieser Befehl generiert ein RSA-Schlüsselpaar und teilt den privaten Schlüssel mit Benutzer 4, einem anderen CU auf dem HSM. Der Befehl verwendet den Parameter `m_value`, damit mindestens zwei Genehmigungen erforderlich sind, ehe der private Schlüssel des Paares in einer kryptografischen Operation verwendet werden kann. Wenn Sie den Parameter `m_value` verwenden, müssen Sie auch `-u` im Befehl nutzen. Dabei darf der `m_value` nicht die Gesamtanzahl an Benutzern übersteigen (Anzahl der Werte in `-u` \$1 Eigentümer).  

```
 Command:  genRSAKeyPair -m 2048 -e 65537 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

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

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

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

**-m**  
Gibt die Länge des Moduls in Bits an. Der minimale Wert beträgt 2048.   
Erforderlich: Ja

**-e**  
Gibt den öffentlichen Exponenten an. Bei diesem Wert muss es sich eine ungerade Zahl gleich oder größer als 65537 handeln.  
Erforderlich: Ja

**-l**  
Gibt eine benutzerdefinierte Bezeichnung für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein. Dieselbe Bezeichnung gilt für beide Schlüssel im Paar. Die maximal zulässige Größe für `label` beträgt 127 Zeichen.  
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

**-id**  
Gibt einen benutzerdefinierten Bezeichner für das Schlüsselpaar an. Geben Sie eine Zeichenfolge ein, die im Cluster eindeutig ist. Der Standardwert ist eine leere Zeichenfolge. Die von Ihnen angegebene ID gilt für beide Schlüssel im Paar.  
Standard : Kein ID-Wert.  
Erforderlich: Nein

**-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

**-m\$1value**  
Gibt die Anzahl der Benutzer an, die jede kryptografische Operation genehmigen müssen, die den privaten Schlüssel des Paares verwendet. Geben Sie einen Wert von `0` bis `8` ein.  
Dieser Parameter legt eine Quorum-Authentifizierungsanforderung für den privaten Schlüssel fest. Der Standardwert, `0`, deaktiviert die Quorum-Authentifizierungsfunktion für den Schlüssel. Wenn die Quorumauthentifizierung aktiviert ist, muss die angegebene Anzahl von Benutzern ein Token signieren, um kryptografische Operationen, bei denen der private Schlüssel verwendet wird, sowie Operationen, bei denen der private Schlüssel gemeinsam genutzt oder die gemeinsame Nutzung aufgehoben wird, zu genehmigen.  
Um den Wert `m_value` eines Schlüssels zu ermitteln, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Dieser Parameter ist nur gültig, wenn der `-u`-Parameter im Befehl das Schlüsselpaar für ausreichend Benutzer freigibt, um die `m_value`-Anforderung zu erfüllen.  
Standard: 0  
Erforderlich: Nein

**-nex**  
Macht den privaten Schlüssel nicht extrahierbar. Der generierte private Schlüssel kann nicht [aus dem HSM exportiert](export-keys.md) werden. Öffentliche Schlüssel sind immer extrahierbar.  
Standard: Sowohl der öffentliche als auch der private Schlüssel im Schlüsselpaar können extrahiert werden.  
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 ein Schlüssel mit der im `min_srv` Parameter HSMs angegebenen Anzahl von synchronisiert wird.   
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

**-u**  
Teilt den privaten Schlüssel des Paares mit den angegebenen Benutzern. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, den privaten Schlüssel für kryptografische Operationen zu verwenden. Öffentliche Schlüssel können von jedem Benutzer verwendet werden, ohne sie zu teilen.  
Geben Sie 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. [Um den HSM-Benutzer IDs von CUs auf dem HSM zu finden, verwenden Sie ListUsers.](key_mgmt_util-listUsers.md) Nutzen Sie zum Freigeben oder zum Aufheben der Freigabe vorhandener Schlüssel [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\$1mgmt\$1util.   
Standard: Nur der aktuelle Benutzer kann den privaten Schlüssel verwenden.   
Erforderlich: Nein

**-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

## Verwandte Themen
<a name="genRSAKeyPair-seealso"></a>
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [DSAKeyGen-Paar](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeyGen-Paar](key_mgmt_util-genECCKeyPair.md)

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

Verwenden Sie den **genSymKey** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um einen symmetrischen Schlüssel in Ihren Hardware-Sicherheitsmodulen (HSM) zu generieren. Sie können Schlüsseltyp und Größe festlegen, eine ID und Bezeichnung zuweisen und den Schlüssel für andere HSM-Benutzer freigeben. Sie können auch nicht extrahierbare Schlüssel erstellen sowie Schlüssel, die ablaufen, wenn die Sitzung endet. Wenn der Befehl erfolgreich ausgeführt wurde, wird ein Schlüssel-Handle zurückgegeben, das das HSM zum Schlüssel zuweist. Sie können das Schlüssel-Handle nutzen, damit der Schlüssel für andere Befehle identifizierbar ist.

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="genSymKey-syntax"></a>

```
genSymKey -h

genSymKey -t <key-type>
          -s <key-size> 
          -l <label> 
          [-id <key-ID>] 
          [-min_srv <minimum-number-of-servers>] 
          [-m_value <0..8>]
          [-nex] 
          [-sess] 
          [-timeout <number-of-seconds> ]
          [-u <user-ids>] 
          [-attest]
```

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

Diese Beispiele zeigen, wie Sie symmetrische Schlüssel in Ihrem erstellen können. **genSymKey** HSMs

**Tipp**  
Um die Schlüssel, die Sie mit diesen Beispielen erstellen, für HMAC-Operationen zu verwenden, müssen Sie nach dem Generieren des Schlüssels den Wert `OBJ_ATTR_SIGN` und `OBJ_ATTR_VERIFY` auf `TRUE` festlegen. Verwenden Sie **setAttribute** in CloudHSM Management Utility (CMU), um diese Werte festzulegen. Weitere Informationen finden Sie unter [setAttribute](cloudhsm_mgmt_util-setAttribute.md).

**Example : Generieren eines AES-Schlüssels**  
Mit diesem Befehl wird ein 256-Bit-AES-Schlüssel mit der Bezeichnung `aes256` erstellt. Die Ausgabe zeigt, dass das Schlüssel-Handle des neuen Schlüssels `6` ist.  

```
Command: genSymKey -t 31 -s 32 -l aes256

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 6

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

**Example : Erstellen eines Sitzungsschlüssels**  
Mit diesem Befehl wird ein nicht extrahierbarer 192-Bit-AES-Schlüssel erstellt, der nur für die aktuelle Sitzung gültig ist. Sie können einen solchen Schlüssel erstellen, um einen Schlüssel, der exportiert wird, zu verpacken (und dann sofort zu entpacken).   

```
Command: genSymKey -t 31 -s 24 -l tmpAES -id wrap01 -nex -sess 
```

**Example : Schnelles Zurückgeben**  
Mit diesem Befehl wird ein generischer 512-Byte-Schlüssel mit der Bezeichnung `IT_test_key` erstellt. Der Befehl wartet nicht darauf, dass der Schlüssel mit allen HSMs im Cluster synchronisiert ist. Stattdessen wird er zurückgegeben, sobald der Schlüssel in einem der HSMs erstellt ist (`-min_srv 1`) oder nach Ablauf von 1 Sekunde (`-timeout 1`), je nachdem, was kürzer ist. Wenn der Schlüssel HSMs vor Ablauf des Timeouts nicht mit der angegebenen Mindestanzahl synchronisiert wird, wird er nicht generiert. Sie können einen solchen Befehl in einem Skript verwenden, das zahlreiche Schlüssel erstellt, wie die `for`-Schleife im folgenden Beispiel.   

```
Command: genSymKey -t 16 -s 512 -l IT_test_key -min_srv 1 -timeout 1

$  for i in {1..30}; 
     do /opt/cloudhsm/bin/key_mgmt_util singlecmd loginHSM -u CU -s example_user -p example_pwd genSymKey -l aes -t 31 -s 32 -min_srv 1 -timeout 1; 
 done;
```

**Example : Erstellen eines allgemeinen Schlüssels mit Quorum-Autorisierung**  
Mit diesem Befehl wird ein allgemeiner geheimer 2048-Bit-Schlüssel mit der Bezeichnung `generic-mV2` erstellt. Der Befehl verwendet den `-u`-Parameter, um den Schlüssel mit einem anderen CU, Benutzer 6, zu teilen. Er verwendet den `-m_value`-Parameter, damit für alle kryptografischen Vorgänge, die den Schlüssel verwenden, ein Quorum aus mindestens zwei Genehmigungen erforderlich ist. Der Befehl verwendet auch den `-attest`-Parameter, um die Integrität der Firmware zu überprüfen, auf der der Schlüssel generiert wird.  
Die Ausgabe zeigt, dass der Befehl einen Schlüssel mit dem Schlüssel-Handle `9` generiert hat und dass die Bescheinigungsprüfung auf der Cluster-Firmware erfolgreich bestanden wurde.  

```
                Command:  genSymKey -t 16 -s 2048 -l generic-mV2 -m_value 2 -u 6 -attest

        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 9

        Attestation Check : [PASS]

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

**Example : Erstellen und Untersuchen eines Schlüssels**  
Mit diesem Befehl wird ein Triple-DES-Schlüssel mit der Bezeichnung `3DES_shared` und der ID `IT-02` erstellt. Der Schlüssel kann von dem aktuellen Benutzer und den Benutzern 4 und 5 verwendet werden. Der Befehl schlägt fehl, wenn die ID im Cluster nicht eindeutig ist oder wenn der aktuelle Benutzer der Benutzer 4 oder 5 ist.   
Die Ausgabe zeigt, dass der neue Schlüssel das Schlüssel-Handle `7` aufweist.  

```
Command: genSymKey -t 21 -s 24 -l 3DES_shared -id IT-02 -u 4,5

       Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 7

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
```
Um zu überprüfen, ob der neue 3DES-Schlüssel im Besitz des aktuellen Benutzers ist und gemeinsam mit den Benutzern 4 und 5 genutzt wird, verwenden Sie **[getKeyInfo](key_mgmt_util-getKeyInfo.md)**. Der Befehl verwendet das Handle, das dem neuen Schlüssel zugewiesen wurde (`Key Handle: 7`).  
Die Ausgabe bestätigt, dass der Schlüssel im Besitz des Benutzers 3 ist und gemeinsam mit den Benutzern 4 und 5 verwendet wird.  

```
Command:  getKeyInfo -k 7

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 2 user(s):

                 4, 5
```
Verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md), um die anderen Eigenschaften des Schlüssels zu bestätigen. Der erste Befehl verwendet `getAttribute`, um alle Attribute (`-a 512`) von Schlüssel-Handle 7 (`-o 7`) abzurufen. Sie werden in die Datei `attr_7` geschrieben. Der zweite Befehl verwendet `cat`, um den Inhalt der `attr_7`-Datei abzurufen.   
Mit diesem Befehl wird bestätigt, dass Schüssel 7 ein symmetrischer 192-Bit-(`OBJ_ATTR_VALUE_LEN 0x00000018` oder 24-Byte)-3DES (`OBJ_ATTR_KEY_TYPE 0x15`)-Schlüssel (`OBJ_ATTR_CLASS 0x04`) mit der Bezeichnung `3DES_shared` (`OBJ_ATTR_LABEL 3DES_shared`) und der ID `IT_02` ist (`OBJ_ATTR_ID IT-02`). Der Schlüssel ist persistent (`OBJ_ATTR_TOKEN 0x01`) und extrahierbar (`OBJ_ATTR_EXTRACTABLE 0x01`) und kann für das Verschlüsseln, Entschlüsseln und Verpacken verwendet werden.   
Um die Attribute eines von Ihnen erstellten Schlüssels wie Typ, Länge, Bezeichnung und ID zu finden, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md). Um die Schlüssel für einen bestimmten Benutzer zu finden, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md). Verwenden Sie [findKey](key_mgmt_util-findKey.md), um Schlüssel anhand ihrer Attributwerte zu finden. 
Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  

```
Command:  getAttribute -o 7 -a 512 -out attr_7

got all attributes of size 444 attr cnt 17
Attributes dumped into attr_7 file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS


$  cat attr_7

OBJ_ATTR_CLASS
0x04
OBJ_ATTR_KEY_TYPE
0x15
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x01
OBJ_ATTR_WRAP
0x00
OBJ_ATTR_UNWRAP
0x00
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
3DES_shared
OBJ_ATTR_ID
IT-02
OBJ_ATTR_VALUE_LEN
0x00000018
OBJ_ATTR_KCV
0x59a46e
```
Um die Schlüssel, die Sie mit diesen Beispielen erstellen, für HMAC-Operationen zu verwenden, müssen Sie nach dem Generieren des Schlüssels den Wert `OBJ_ATTR_SIGN` und `OBJ_ATTR_VERIFY` auf `TRUE` festlegen. Verwenden Sie **setAttribute** in CMU, um diese Werte festzulegen. Weitere Informationen finden Sie unter [setAttribute](cloudhsm_mgmt_util-setAttribute.md).

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

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

**-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:   
+ 16: [GENERIC\$1SECRET](http://docs.oasis-open.org/pkcs11/pkcs11-curr/v2.40/cos01/pkcs11-curr-v2.40-cos01.html#_Toc408226962). Ein *allgemeiner geheimer Schlüssel* ist ein Byte-Array, das keinem speziellen Standard entspricht, wie etwa den Anforderungen an einen AES-Schlüssel. 
+ 18: [RC4](https://en.wikipedia.org/wiki/RC4). RC4 Schlüssel sind im FIPS-Modus nicht gültig HSMs
+ 21: [Triple DES (3DES)](https://en.wikipedia.org/wiki/Triple_DES). Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 zulässig. Details dazu finden Sie unter [FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt](compliance-dep-notif.md#compliance-dep-notif-1).
+ 31: [AES](https://en.wikipedia.org/wiki/Advanced_Encryption_Standard)
Erforderlich: Ja

**-s**  
Gibt die Schlüsselgröße in Byte an. Um beispielsweise einen 192-Bit-Schlüssel zu erstellen, geben Sie `24` ein.   
Gültige Werte für jeden Schlüsseltyp:  
+ AES: 16 (128 Bit), 24 (192 Bit), 32 (256 Bit)
+ 3DES: 24 (192 Bit)
+ Allgemeiner geheimer Schlüssel: <3584 (28672 Bit)
Erforderlich: Ja

**-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

**-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

**-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

**-min\$1srv**  
Gibt die Mindestanzahl HSMs an, für die 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

**-m\$1value**  
Gibt die Anzahl der Benutzer an, die einen kryptografischen Vorgang genehmigen müssen, der den Schlüssel verwendet. Geben Sie einen Wert von `0` bis `8` ein.  
Dieser Parameter legt eine Quorum-Authentifizierungsanforderung für den Schlüssel fest. Der Standardwert, `0`, deaktiviert die Quorum-Authentifizierungsfunktion für den Schlüssel. Wenn die Quorumauthentifizierung aktiviert ist, muss die angegebene Anzahl von Benutzern ein Token signieren, um kryptografische Operationen, bei denen der Schlüssel verwendet wird, sowie Operationen, bei denen der Schlüssel gemeinsam genutzt oder die gemeinsame Nutzung aufgehoben wird, zu genehmigen.  
Um den Wert `m_value` eines Schlüssels zu ermitteln, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Dieser Parameter ist nur gültig, wenn der `-u`-Parameter im Befehl den Schlüssel für ausreichend Benutzer freigibt, um die `m_value`-Anforderung zu erfüllen.  
Standard: 0  
Erforderlich: Nein

**-nex**  
Macht den Schlüssel nicht extrahierbar. Der generierte Schlüssel kann nicht [aus dem HSM exportiert](export-keys.md) werden.  
Standard: Der Schlüssel ist extrahierbar.  
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 ein Schlüssel mit der im `min_srv` Parameter HSMs angegebenen Anzahl von synchronisiert wird.   
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

**-u**  
Gibt den 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 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. [Um den HSM-Benutzer IDs von CUs auf dem HSM zu finden, verwenden Sie ListUsers.](key_mgmt_util-listUsers.md) Nutzen Sie zum Freigeben oder zum Aufheben der Freigabe vorhandener Schlüssel [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\$1mgmt\$1util.   
Standard: Nur der aktuelle Benutzer kann den Schlüssel verwenden.   
Erforderlich: Nein

## Verwandte Themen
<a name="genSymKey-seealso"></a>
+ [exSymKey](key_mgmt_util-exSymKey.md)
+ [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md)
+ [DSAKeyGen-Paar](key_mgmt_util-genDSAKeyPair.md)
+ [ECCKeyGen-Paar](key_mgmt_util-genECCKeyPair.md)
+ [setAttribute](cloudhsm_mgmt_util-setAttribute.md)

# Rufen Sie ein AWS CloudHSM identifizierendes Attribut mit KMU ab
<a name="key_mgmt_util-getAttribute"></a>

Verwenden Sie den **getAttribute** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen oder alle Attributwerte für einen Schlüssel in eine Datei zu schreiben. AWS CloudHSM Wenn das von Ihnen angegebene Attribut für den Schlüsseltyp nicht existiert (z. B. der Modulus eines AES-Schlüssels), gibt **getAttribute** einen Fehler zurück. 

*Schlüsselattribute* sind Eigenschaften eines Schlüssels. Dazu zählen Merkmale wie der Schlüsseltyp, Klasse, Beschriftung und ID sowie Werte, die Aktionen darstellen, die Sie mit dem Schlüssel ausführen können, wie verschlüsseln, entschlüsseln, packen, signieren und überprüfen. 

Sie können **getAttribute** nur für Schlüssel ausführen, die Ihnen gehören oder die für Sie freigegeben wurden. Sie können diesen Befehl oder den Befehl [getAttribute](cloudhsm_mgmt_util-getAttribute.md) in cloudhsm\$1mgmt\$1util ausführen, wodurch ein Attributwert eines Schlüssels von allen HSMs in einem Cluster abgerufen und in die Standardausgabe oder in eine Datei geschrieben wird. 

Zum Abrufen einer Liste der Attribute und Konstanten, die sie darstellen, verwenden Sie den Befehl [listAttributes](key_mgmt_util-listAttributes.md). Um die Attributwerte von vorhandenen Schlüsseln zu ändern, verwenden Sie [setAttribute](key_mgmt_util-setAttribute.md) in key\$1mgmt\$1util und [setAttribute](cloudhsm_mgmt_util-setAttribute.md) in cloudhsm\$1mgmt\$1util. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).

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="getAttribute-syntax"></a>

```
getAttribute -h 

getAttribute -o <key handle> 
             -a <attribute constant> 
             -out <file>
```

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

Diese Beispiele zeigen, wie Sie die Attribute von Schlüsseln in Ihrem abrufen können. **getAttribute** HSMs

**Example : Ruft den Schlüsseltyp ab**  
In diesem Beispiel wird der Schlüsseltyp abgerufen (z. B. ein AES- oder 3DES-Schlüssel, ein generischer Schlüssel oder ein RSA-Schlüsselpaar oder elliptisches Kurvenschlüsselpaar).  
Der erste Befehl führt [listAttributes](key_mgmt_util-listAttributes.md) aus, das die Schlüsselattribute und deren Konstanten abruft. Die Ausgabe zeigt, dass die Konstante für den Schlüsseltyp `256` lautet. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  

```
Command: listAttributes

Description
===========
The following are all of the possible attribute values for getAttributes.

      OBJ_ATTR_CLASS                  = 0
      OBJ_ATTR_TOKEN                  = 1
      OBJ_ATTR_PRIVATE                = 2
      OBJ_ATTR_LABEL                  = 3
      OBJ_ATTR_KEY_TYPE               = 256
      OBJ_ATTR_ID                     = 258
      OBJ_ATTR_SENSITIVE              = 259
      OBJ_ATTR_ENCRYPT                = 260
      OBJ_ATTR_DECRYPT                = 261
      OBJ_ATTR_WRAP                   = 262
      OBJ_ATTR_UNWRAP                 = 263
      OBJ_ATTR_SIGN                   = 264
      OBJ_ATTR_VERIFY                 = 266
      OBJ_ATTR_LOCAL                  = 355
      OBJ_ATTR_MODULUS                = 288
      OBJ_ATTR_MODULUS_BITS           = 289
      OBJ_ATTR_PUBLIC_EXPONENT        = 290
      OBJ_ATTR_VALUE_LEN              = 353
      OBJ_ATTR_EXTRACTABLE            = 354
      OBJ_ATTR_KCV                    = 371
```
Der zweite Befehl führt **getAttribute** aus. Er fordert den Schlüsseltyp (Attribut `256`) für das Schlüsselhandle `524296` an und schreibt ihn in die `attribute.txt`-Datei.   

```
Command: getAttribute -o 524296 -a 256 -out attribute.txt
Attributes dumped into attribute.txt file
```
Mit dem letzten Befehl wird der Inhalt der Schlüsseldatei abgerufen. Die Ausgabe zeigt, dass es sich bei dem Schlüsseltyp um `0x15` oder `21` handelt – ein Triple DES-Schlüssel (3DES). Definitionen der Klassen- und Typwerte finden Sie in der [Schlüsselattributreferenz](key-attribute-table.md).  

```
$  cat attribute.txt
OBJ_ATTR_KEY_TYPE
0x00000015
```

**Example : Ruft alle Attribute eines Schlüssels ab**  
Dieser Befehl ruft alle Attribute des Schlüssels mit dem Schlüsselhandle `6` ab und schreibt sie in die `attr_6`-Datei. Er verwendet den Attributwert `512`, der alle Attribute repräsentiert.   

```
Command: getAttribute -o 6 -a 512 -out attr_6
        
got all attributes of size 444 attr cnt 17
Attributes dumped into attribute.txt file

        Cfm3GetAttribute returned: 0x00 : HSM Return: SUCCESS>
```
Dieser Befehl zeigt den Inhalt einer Beispiel-Attributdatei mit allen Attributwerten an. Neben den Werten zeigt er auch an, dass es sich bei dem Schlüssel um einen 256-Bit-AES-Schlüssel mit der ID `test_01` von und der Bezeichnung `aes256` handelt. Der Schlüssel ist extrahierbar und persistent, d. h., es handelt sich nicht um einen Session-only-Schlüssel. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  

```
$  cat attribute.txt

OBJ_ATTR_CLASS
0x04
OBJ_ATTR_KEY_TYPE
0x15
OBJ_ATTR_TOKEN
0x01
OBJ_ATTR_PRIVATE
0x01
OBJ_ATTR_ENCRYPT
0x01
OBJ_ATTR_DECRYPT
0x01
OBJ_ATTR_WRAP
0x01
OBJ_ATTR_UNWRAP
0x01
OBJ_ATTR_SIGN
0x00
OBJ_ATTR_VERIFY
0x00
OBJ_ATTR_LOCAL
0x01
OBJ_ATTR_SENSITIVE
0x01
OBJ_ATTR_EXTRACTABLE
0x01
OBJ_ATTR_LABEL
aes256
OBJ_ATTR_ID
test_01
OBJ_ATTR_VALUE_LEN
0x00000020
OBJ_ATTR_KCV
0x1a4b31
```

## Parameters
<a name="getAttribute-parameters"></a>

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

**-o**  
Gibt das Schlüssel-Handle des Zielschlüssels an. Sie können nur jeweils einen Schlüssel in den einzelnen Befehlen angeben. Verwenden Sie zum Abrufen des Schlüssel-Handles eines Schlüssels [findKey](key_mgmt_util-findKey.md).  
Sie müssen außerdem Besitzer des angegebenen Schlüssels sein oder er muss für Sie freigegeben sein. Um die Benutzer eines Schlüssels zu finden, verwenden Sie [getKeyInfo](key_mgmt_util-getKeyInfo.md).  
Erforderlich: Ja

**-a**  
Bezeichnet das Attribut. Geben Sie eine Konstante, die ein Attribut darstellt, oder den Wert `512` ein, der alle Attribute repräsentiert. Zum Abrufen des Schlüsseltyps geben Sie z. B. `256` ein. Dies ist die Konstante für das Attribut `OBJ_ATTR_KEY_TYPE`.  
Verwenden Sie [listAttributes](key_mgmt_util-listAttributes.md), um die Attribute und deren Konstanten aufzulisten. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  
Erforderlich: Ja

**-out**  
Schreibt die Ausgabe in die angegebene Datei. Geben Sie einen Dateipfad ein. Sie können die Ausgabe nicht in die Datei `stdout` schreiben.   
Wenn die angegebene Datei vorhanden ist, überschreibt **getAttribute** die Datei ohne Warnung.  
Erforderlich: Ja

## Verwandte Themen
<a name="getAttribute-seealso"></a>
+ [getAttribute](cloudhsm_mgmt_util-getAttribute.md) in cloudhsm\$1mgmt\$1util
+ [listAttributes](key_mgmt_util-listAttributes.md)
+ [setAttribute](key_mgmt_util-setAttribute.md)
+ [findKey](key_mgmt_util-findKey.md)
+ [Schlüsselattributreferenz](key-attribute-table.md)

# Exportieren Sie einen AWS CloudHSM Schlüssel mit KMU in ein gefälschtes PEM-Format
<a name="key_mgmt_util-getCaviumPrivKey"></a>

Verwenden Sie den Befehl **getCaviumPrivKey** in der Datei AWS CloudHSM key\$1mgmt\$1util, um einen privaten Schlüssel aus einem Hardware-Sicherheitsmodul (HSM) im gefälschten PEM-Format zu exportieren. Die gefälschte PEM-Datei, die nicht das eigentliche Material des privaten Schlüssels enthält, sondern stattdessen auf den privaten Schlüssel im HSM verweist, kann dann verwendet werden, um die Übertragung von Ihrem Webserver zu einzurichten. SSL/TLS AWS CloudHSM Weitere Informationen finden Sie unter [SSL/TLS-Offload unter Linux mit Tomcat oder SSL/TLS-Offload unter Linux mit NGINX](third-offload-linux-jsse.md) [oder Apache](third-offload-linux-openssl.md).

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="getCaviumPrivKey-syntax"></a>

```
getCaviumPrivKey -h

getCaviumPrivKey -k <private-key-handle>
                 -out <fake-PEM-file>
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **getCaviumPrivKey** einen privaten Schlüssel im gefälschten PEM-Format exportieren.

**Example : Exportieren einer gefälschten PEM-Datei**  
Dieser Befehl erstellt und exportiert eine gefälschte PEM-Version eines privaten Schlüssels mit dem Handle `15` und speichert sie in einer Datei namens `cavKey.pem`. Wird der Befehl erfolgreich ausgeführt, gibt **exportPrivateKey** eine Erfolgsmeldung zurück.  

```
Command: getCaviumPrivKey -k 15 -out cavKey.pem

Private Key Handle is written to cavKey.pem in fake PEM format

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

## Parameters
<a name="getCaviumPrivKey-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-k`**  
Gibt das Schlüssel-Handle des privaten Schlüssels an, der im gefälschten PEM-Format exportiert werden soll.  
Erforderlich: Ja

**`-out`**  
Gibt den Namen der Datei an, in die der gefälschte PEM-Schlüssel geschrieben werden soll.  
Erforderlich: Ja

## Verwandte Themen
<a name="getCaviumPrivKey-seealso"></a>
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [SSL/TLS Offload unter Linux mit Tomcat](third-offload-linux-jsse.md)
+ [SSL/TLS-Offload unter Linux mit NGINX oder Apache](third-offload-linux-openssl.md)

# Holen Sie sich HSM-Partitionszertifikate mit KMU AWS CloudHSM
<a name="key_mgmt_util-getCert"></a>

Verwenden Sie den **getCert** Befehl in AWS CloudHSM key\$1mgmt\$1util, um die Partitionszertifikate eines Hardware-Sicherheitsmoduls (HSM) abzurufen und sie in einer Datei zu speichern. Wenn Sie den Befehl ausführen, geben Sie den Typ des abzurufenden Zertifikats an. Verwenden Sie dazu eine der entsprechenden ganzzahligen Werte, wie im folgenden Abschnitt [Parameter](#kmu-getCert-parameters) beschrieben. Weitere Informationen über die Rolle der einzelnen Zertifikate finden Sie unter [Überprüfen der HSM-Identität](verify-hsm-identity.md).

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="kmu-getCert-syntax"></a>

```
getCert -h 

getCert -f <file-name> 
        -t <certificate-type>
```

## Beispiel
<a name="kmu-getCert-examples"></a>

Dieses Beispiel zeigt, wie man **getCert** verwendet, um das Kundenstammzertifikat eines Clusters abzurufen und als Datei zu speichern.

**Example : Abrufen eines Kundenstammzertifikats**  
Dieser Befehl exportiert ein Kundenstammzertifikat (dargestellt durch die Ganzzahl `4`) und speichert es in einer Datei namens `userRoot.crt`. Wird der Befehl erfolgreich ausgeführt, gibt **getCert** eine Erfolgsmeldung zurück.  

```
Command: getCert -f userRoot.crt -s 4

Cfm3GetCert() returned 0 :HSM Return: SUCCESS
```

## Parameters
<a name="kmu-getCert-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-f`**  
Gibt den Namen der Datei an, in der das abgerufene Zertifikat gespeichert wird.  
Erforderlich: Ja

**-s**  
Eine Ganzzahl, die den Typ des abzurufenden Partitionszertifikats angibt. Die Ganzzahlen und ihre entsprechenden Zertifikattypen sind:  
+ **1** – Hersteller-Stammzertifikat
+ **2** – Hersteller-Hardwarezertifikat
+ **4** – Kunden-Stammzertifikat
+ **8** – Clusterzertifikat (signiert vom Kunden-Stammzertifikat)
+ **16** – Clusterzertifikat (verkettet mit dem Hersteller-Stammzertifikat)
Erforderlich: Ja

## Verwandte Themen
<a name="kmu-getCert-seealso"></a>
+ [HSM-Identität überprüfen](verify-hsm-identity.md)

# Holen Sie sich die Benutzer eines AWS CloudHSM Schlüssels mithilfe von KMU
<a name="key_mgmt_util-getKeyInfo"></a>

Verwenden Sie den **getKeyInfo** Befehl in AWS CloudHSM key\$1mgmt\$1util, um den Benutzer des Hardware-Sicherheitsmoduls (HSM) von Benutzern zurückzugeben, die den Schlüssel verwenden können, einschließlich des Besitzers und IDs der Crypto-Benutzer (CU), mit denen der Schlüssel gemeinsam genutzt wird. Wenn die Quorum-Authentifizierung für einen Schlüssel aktiviert ist, gibt **getKeyInfo** auch die Anzahl der Benutzer zurück, die kryptografische Operationen genehmigen müssen, von denen der Schlüssel verwendet wird. Sie können **getKeyInfo** nur auf Schlüsseln ausführen, die Ihnen gehören oder die für Sie freigegeben wurden.

Wenn Sie **getKeyInfo** auf öffentliche Schlüsseln ausführen, gibt **getKeyInfo** nur den Schlüsseleigentümer zurück, auch wenn alle HSM-Benutzer den öffentlichen Schlüssel verwenden können. Um den HSM-Benutzer IDs von Benutzern in Ihrem zu finden HSMs, verwenden Sie [ListUsers](key_mgmt_util-listUsers.md). Um nach den Schlüsseln für einen bestimmten Benutzer zu suchen, verwenden Sie [findKey](key_mgmt_util-findKey.md) `-u`.

Ihren gehören die Schlüssel, die Sie erstellen. Sie können einen Schlüssel für andere Benutzer freigeben, wenn Sie ihn erstellen. Nutzen Sie dann zum Freigeben oder zum Aufheben der Freigabe [shareKey](cloudhsm_mgmt_util-shareKey.md) in cloudhsm\$1mgmt\$1util.

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="getKeyInfo-syntax"></a>

```
getKeyInfo -h

getKeyInfo -k <key-handle>
```

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

Diese Beispiele veranschaulichen die Verwendung von **getKeyInfo** zum Abrufen von Informationen über die Benutzer eines Schlüssels.

**Example : Abfragen der Benutzer eines symmetrischen Schlüssels**  
Über diesen Befehl erhalten Sie die Benutzer, die den (symmetrischen) AES-Schlüssel mit dem Schlüssel-Handle `9` verwenden können. Die Ausgabe zeigt, dass Benutzer 3 den Schlüssel besitzt und mit Benutzer 4 geteilt hat.  

```
Command:  getKeyInfo -k 9

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 1 user(s):

                4
```

**Example : Abfragen der Benutzer eines asymmetrischen Schlüsselpaares**  
Diese Befehle verwenden **getKeyInfo**, um die Benutzer abzurufen, die die Schlüssel in einem (asymmetrischen) RSA-Schlüsselpaar verwenden können. Das Schlüssel-Handle des öffentlichen Schlüssels ist `21`. Das Schlüssel-Handle des privaten Schlüssels ist `20`.   
Wenn Sie **getKeyInfo** den privaten Schlüssel (`20`) verwenden, werden der Schlüsselbesitzer (3) und die Krypto-Benutzer (CUs) 4 und 5 zurückgegeben, mit denen der Schlüssel geteilt wird.   

```
Command:  getKeyInfo -k 20

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3

       also, shared to following 2 user(s):

                4
                5
```
Wenn Sie **getKeyInfo** auf dem öffentlichen Schlüssel (`21`) ausführen, wird nur der Schlüsseleigentümer (3) zurückgegeben.   

```
Command:  getKeyInfo -k 21

       Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

       Owned by user 3
```
Um zu bestätigen, dass Benutzer 4 den öffentlichen Schlüssel (und alle öffentlichen Schlüssel im HSM) verwenden kann, verwenden Sie den `-u`-Parameter von [findKey](key_mgmt_util-findKey.md).   
Die Ausgabe zeigt, dass Benutzer 4 sowohl den öffentlichen (`21`) als auch den privaten Schlüssel (`20`) im Schlüsselpaar verwenden kann. Benutzer 4 kann zudem alle anderen öffentlichen und privaten Schlüssel nutzen, die sie erstellt haben oder die für sie freigegeben wurden.   

```
Command:  findKey -u 4
Total number of keys present 8

 number of keys matched from start index 0::7
11, 12, 262159, 262161, 262162, 19, 20, 21

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

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

**Example : Abrufen des Quorum-Authentifizierungswerts (m\$1value) für einen Schlüssel**  
Mit diesem Beispiel wird gezeigt, wie der `m_value` für einen Schlüssel abgerufen werden kann, d. h. die Anzahl der Benutzer im Quorum, die alle kryptografischen Vorgänge genehmigen müssen, bei denen der Schlüssel verwendet wird.  
Wenn die Quorum-Authentifizierung für einen Schlüssel aktiviert ist, muss das Quorum der Benutzer alle kryptografischen Operationen genehmigen, bei denen der Schlüssel verwendet wird. Zum Aktivieren der Quorum-Authentifizierung und Festlegen der Quorum-Größe nutzen Sie beim Erstellen des Schlüssels den Parameter `-m_value`.  
Dieser Befehl verwendet [gen RSAKey Pair](key_mgmt_util-genRSAKeyPair.md), um ein RSA-Schlüsselpaar zu erstellen, das mit Benutzer 4 geteilt wird. Er verwendet den Parameter `m_value` zur Aktivierung der Quorum-Authentifizierung für den privaten Schlüssel im Paar und zur Festlegung der Quorum-Größe auf zwei Benutzer. Die Anzahl der Benutzer muss groß genug sein, um die erforderlichen Genehmigungen bereitstellen zu können.  
Die Ausgabe zeigt, dass der Befehl den öffentlichen Schlüssel `27` und den privaten Schlüssel `28` erstellt hat.  

```
 Command:  genRSAKeyPair -m 2048 -e 195193 -l rsa_mofn -id rsa_mv2 -u 4 -m_value 2

        Cfm3GenerateKeyPair returned: 0x00 : HSM Return: SUCCESS

        Cfm3GenerateKeyPair:    public key handle: 27    private key handle: 28

        Cluster Error Status
        Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
        Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
```
Dieser Befehl nutzt **getKeyInfo** zum Abrufen von Informationen über die Benutzer des privaten Schlüssels. Die Ausgabe zeigt, dass der Schlüssel im Besitz des Benutzers 3 ist und gemeinsam mit Benutzer 4 verwendet wird. Sie zeigt auch, dass ein Quorum von zwei Benutzern jede kryptografische Operation genehmigen muss, bei der der Schlüssel verwendet wird.  

```
Command:  getKeyInfo -k 28

        Cfm3GetKey returned: 0x00 : HSM Return: SUCCESS

        Owned by user 3

        also, shared to following 1 user(s):

                 4
         2 Users need to approve to use/manage this key
```

## Parameters
<a name="getKeyInfo-parameters"></a>

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

**-k**  
Gibt das Schlüssel-Handle eines Schlüssels im HSM an. Geben Sie das Schlüssel-Handle eines Schlüssels ein, den Sie besitzen oder teilen. Dieser Parameter muss angegeben werden.   
Verwenden Sie den [findKey](key_mgmt_util-listUsers.md)-Befehl, um Schlüssel-Handles zu finden.  
Erforderlich: Ja

## Verwandte Themen
<a name="getKeyInfo-seealso"></a>
+ [getKeyInfo](cloudhsm_mgmt_util-getKeyInfo.md)in cloudhsm\$1mgmt\$1util
+ [listUsers](key_mgmt_util-listUsers.md)
+ [findKey](key_mgmt_util-findKey.md)
+ [findAllKeys](cloudhsm_mgmt_util-findAllKeys.md)in cloudhsm\$1mgmt\$1util

# Hilfeinformationen für AWS CloudHSM KMU anzeigen
<a name="key_mgmt_util-help"></a>

Verwenden Sie den Befehl in key\$1mgmt\$1util, um Informationen zu allen verfügbaren **help** key\$1mgmt\$1util-Befehlen anzuzeigen. AWS CloudHSM 

Vor dem Ausführen von **help** müssen Sie [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start).

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

```
help
```

## Beispiel
<a name="help-examples"></a>

Dieses Beispiel zeigt die Ausgabe des `help`-Befehls.

**Example**  

```
Command:  help

Help Commands Available:

Syntax: <command> -h


   Command               Description
   =======               ===========

   exit                   Exits this application
   help                   Displays this information

        Configuration and Admin Commands
   getHSMInfo             Gets the HSM Information
   getPartitionInfo       Gets the Partition Information
   listUsers              Lists all users of a partition
   loginStatus            Gets the Login Information
   loginHSM               Login to the HSM
   logoutHSM              Logout from the HSM

        M of N commands
   getToken               Initiate an MxN service and get Token
   delToken               delete Token(s)
   approveToken           Approves an MxN service
   listTokens             List all Tokens in the current partition

        Key Generation Commands

        Asymmetric Keys:
   genRSAKeyPair          Generates an RSA Key Pair
   genDSAKeyPair          Generates a DSA Key Pair
   genECCKeyPair          Generates an ECC Key Pair

        Symmetric Keys:
   genPBEKey              Generates a PBE DES3 key
   genSymKey              Generates a Symmetric keys

        Key Import/Export Commands
   createPublicKey        Creates an RSA public key
   importPubKey           Imports RSA/DSA/EC Public key
   exportPubKey           Exports RSA/DSA/EC Public key
   importPrivateKey       Imports RSA/DSA/EC private key
   exportPrivateKey       Exports RSA/DSA/EC private key
   imSymKey               Imports a Symmetric key
   exSymKey               Exports a Symmetric key
   wrapKey                Wraps a key from from HSM using the specified handle
   unWrapKey              UnWraps a key into HSM using the specified handle

        Key Management Commands
   deleteKey              Delete Key
   setAttribute           Sets an attribute of an object
   getKeyInfo             Get Key Info about shared users/sessions
   findKey                Find Key
   findSingleKey          Find single Key
   getAttribute           Reads an attribute from an object

        Certificate Setup Commands
   getCert                Gets Partition Certificates stored on HSM

        Key Transfer Commands
   insertMaskedObject     Inserts a masked object
   extractMaskedObject    Extracts a masked object

        Management Crypto Commands
   sign                   Generates a signature
   verify                 Verifies a signature
   aesWrapUnwrap          Does NIST AES Wrap/Unwrap

        Helper Commands
   Error2String           Converts Error codes to Strings
                          save key handle in fake PEM format
   getCaviumPrivKey       Saves an RSA private key handle
                          in fake PEM format
   IsValidKeyHandlefile   Checks if private key file has
                          an HSM key handle or a real key
   listAttributes         List all attributes for getAttributes
   listECCCurveIds        List HSM supported ECC CurveIds
```

## Parameters
<a name="loginHSM-parameters"></a>

Für diesen Befehl gibt es keine Parameter.

## Verwandte Themen
<a name="loginHSM-seealso"></a>
+ [loginHSM und logoutHSM](key_mgmt_util-loginHSM.md)

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

Verwenden Sie den **importPrivateKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen asymmetrischen privaten Schlüssel aus einer Datei in ein Hardware-Sicherheitsmodul (HSM) zu importieren. Das HSM erlaubt keinen direkten Import von Schlüsseln im Klartext. Der Befehl verschlüsselt den privaten Schlüssel mit einem von Ihnen angegebenen AES-Wrapping-Schlüssel und entpackt den Schlüssel innerhalb des HSM. [Wenn Sie versuchen, einem Zertifikat einen AWS CloudHSM Schlüssel zuzuordnen, finden Sie weitere Informationen in diesem Thema.](ksp-library-associate-key-certificate.md)

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

Sie müssen einen AES-Wrapping-Schlüssel angeben, der `OBJ_ATTR_UNWRAP`- und `OBJ_ATTR_ENCRYPT`-Attributwerte `1` hat. Mit dem Befehl [**getAttribute**](key_mgmt_util-getAttribute.md) können Sie nach den Attributen eines Schlüssels suchen.

**Anmerkung**  
 Dieser Befehl bietet keine Option, um den importierten Schlüssel als nicht exportierbar zu markieren. 

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="importPrivateKey-syntax"></a>

```
importPrivateKey -h

importPrivateKey -l <label>
                 -f <key-file>
                 -w <wrapping-key-handle>
                 [-sess]
                 [-id <key-id>]
                 [-m_value <0...8>]
                 [min_srv <minimum-number-of-servers>]
                 [-timeout <number-of-seconds>]
                 [-u <user-ids>]
                 [-wk <wrapping-key-file>]
                 [-attest]
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **importPrivateKey** einen privaten Schlüssel in ein HSM importieren.

**Example : Importieren eines privaten Schlüssels**  
Dieser Befehl importiert den privaten Schlüssel aus einer Datei mit dem Namen `rsa2048.key`, der Bezeichnung `rsa2048-imported` und einem Verpackungsschlüssel mit dem Handle `524299`. Wenn der Befehl erfolgreich ausgeführt wurde, gibt **importPrivateKey** ein Schlüssel-Handle für den importierten Schlüssel sowie eine Erfolgsmeldung zurück.  

```
Command: importPrivateKey -f rsa2048.key -l rsa2048-imported -w 524299

BER encoded key length is 1216

Cfm3WrapHostKey returned: 0x00 : HSM Return: SUCCESS

Cfm3CreateUnwrapTemplate returned: 0x00 : HSM Return: SUCCESS

Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

Private Key Unwrapped.  Key Handle: 524301

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

## Parameters
<a name="importPrivateKey-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-l`**  
Gibt die benutzerdefinierte Bezeichnung des privaten Schlüssels an.  
Erforderlich: Ja

**`-f`**  
Gibt den Dateinamen des zu importierenden Schlüssels an.  
Erforderlich: Ja

**`-w`**  
Gibt das Schlüssel-Handle des Verpackungsschlüssels an. Dieser Parameter muss angegeben werden. Nutzen Sie den Befehl [**findKey**](key_mgmt_util-findKey.md), um Schlüssel-Handles zu suchen.  
Ermitteln Sie mithilfe von [**getAttribute**](key_mgmt_util-getAttribute.md) den Wert des `OBJ_ATTR_WRAP`-Attributs (262), um zu bestimmen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann. 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 Entpackungsschlüssels verwenden, wird der `-w`-Verpackungsschlüssel während des Imports zum Verpacken, nicht aber zum Entpacken des Schlüssels verwendet.  
Erforderlich: Ja

**`-sess`**  
Gibt den importierten Schlüssel als Sitzungsschlüssel an.  
Standard: Der importierte Schlüssel wird im Cluster als persistenter Schlüssel (Token) bereitgehalten.  
Erforderlich: Nein

**`-id`**  
Gibt die ID des zu importierenden Schlüssels an.  
Standard : Kein ID-Wert.  
Erforderlich: Nein

**`-m_value`**  
Gibt die Anzahl der Benutzer an, die einen kryptografischen Vorgang genehmigen müssen, der den importierten Schlüssel verwendet. Geben Sie einen Wert zwischen **0** und **8** ein.  
Dieser Parameter ist nur gültig, wenn der `-u`-Parameter im Befehl den Schlüssel für ausreichend Benutzer freigibt, um die `m_value`-Anforderung zu erfüllen.  
Standard: 0  
Erforderlich: Nein

**`-min_srv`**  
Gibt die Mindestanzahl HSMs an, mit der der importierte 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

**`-timeout`**  
Gibt an, wie viele Sekunden auf die Synchronisierung des Schlüssels gewartet werden soll, HSMs wenn der `min-serv` Parameter enthalten ist. Wenn keine Anzahl angegeben ist, wird die Abfrage ohne zeitliche Einschränkung fortgesetzt.  
Standard: keine Einschränkung  
Erforderlich: Nein

**`-u`**  
Gibt die Liste der Benutzer an, für die der importierte private Schlüssel freigegeben werden soll. Dieser Parameter gibt anderen HSM-Kryptobenutzern (CUs) die Erlaubnis, den importierten Schlüssel für kryptografische Operationen zu verwenden.  
Geben Sie eine durch Kommas getrennte Liste von HSM-Benutzern ein, z. B. IDs `-u 5,6` Fügen Sie die HSM-Benutzer-ID des aktuellen Benutzers nicht ein. [Um den HSM-Benutzer IDs von CUs auf dem HSM zu finden, verwenden Sie ListUsers.](key_mgmt_util-listUsers.md)  
Standard: Nur der aktuelle Benutzer kann den importierten Schlüssel verwenden.  
Erforderlich: Nein

**`-wk`**  
Gibt den Schlüssel an, mit dem der Schlüssel, der importiert wird, verpackt werden soll. Geben Sie den Pfad und den Namen einer Datei an, die einen Klartext-AES-Schlüssel enthält.  
Wenn Sie diesen Parameter einschließen, verwendet **importPrivateKey** den Schlüssel in der `-wk`-Datei, um den zu importierenden Schlüssel zu verpacken. Außerdem wird der vom `-w`-Parameter angegebene Schlüssel zum Entpacken verwendet.  
Standard: Verwenden Sie den im `-w`-Parameter angegeben Verpackungsschlüssel für das Verpacken und Entpacken von Schlüsseln.  
Erforderlich: Nein

**`-attest`**  
Überprüft die Firmware-Antwort, um sicherzustellen, dass die Firmware, auf der der Cluster ausgeführt wird, nicht beeinträchtigt wurde.  
Erforderlich: Nein

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

# Importieren Sie einen öffentlichen Schlüssel mit AWS CloudHSM KMU
<a name="key_mgmt_util-importPubKey"></a>

Verwenden Sie den **importPubKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen öffentlichen Schlüssel im PEM-Format in ein Hardware-Sicherheitsmodul (HSM) zu importieren. Sie können ihn verwenden, um öffentliche und außerhalb des HSM erstellte Schlüssel zu importieren. Mit diesem Befehl ist auch das Importieren von Schlüsseln möglich, die aus einem HSM exportiert wurden, z. B. über den Befehl [exportPubKey](key_mgmt_util-exportPubKey.md) exportierte Schlüssel.

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="importPubKey-syntax"></a>

```
importPubKey -h

importPubKey -l <label>
             -f <key-file>
             [-sess]
             [-id <key-id>]
             [min_srv <minimum-number-of-servers>]
             [-timeout <number-of-seconds>]
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **importPubKey** einen öffentlichen Schlüssel in ein HSM importieren.

**Example : Importieren eines öffentlichen Schlüssels**  
Mit diesem Befehl wird ein öffentlicher Schlüssel aus einer Datei mit dem Namen `public.pem` unter der Bezeichnung `importedPublicKey` importiert. Wenn der Befehl erfolgreich ausgeführt wurde, gibt **importPubKey** ein Schlüssel-Handle für den importierten Schlüssel sowie eine Erfolgsmeldung zurück.  

```
Command: importPubKey -l importedPublicKey -f public.pem

Cfm3CreatePublicKey returned: 0x00 : HSM Return: SUCCESS

Public Key Handle: 262230

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

## Parameters
<a name="importPubKey-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-l`**  
Gibt die benutzerdefinierte Bezeichnung für den öffentlichen Schlüssel an.  
Erforderlich: Ja

**`-f`**  
Gibt den Dateinamen des zu importierenden Schlüssels an.  
Erforderlich: Ja

**`-sess`**  
Bezeichnet den importierten Schlüssel als Sitzungsschlüssel.  
Standard: Der importierte Schlüssel wird im Cluster als persistenter Schlüssel (Token) bereitgehalten.  
Erforderlich: Nein

**`-id`**  
Gibt die ID des zu importierenden Schlüssels an.  
Standard : Kein ID-Wert.  
Erforderlich: Nein

**`-min_srv`**  
Gibt die Mindestanzahl an, mit der der HSMs importierte Schlüssel synchronisiert wird, bevor der Wert des Parameters abläuft. `-timeout` 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

**`-timeout`**  
Gibt an, wie viele Sekunden auf die Synchronisierung des Schlüssels gewartet werden soll, HSMs wenn der `min-serv` Parameter enthalten ist. Wenn keine Anzahl angegeben ist, wird die Abfrage ohne zeitliche Einschränkung fortgesetzt.  
Standard: keine Einschränkung  
Erforderlich: Nein

## Verwandte Themen
<a name="importPubKey-seealso"></a>
+ [exportPubKey](key_mgmt_util-exportPubKey.md)
+ [Generieren von Schlüsseln](generate-keys.md)

# 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)

# Fügen Sie ein maskiertes Objekt mit AWS CloudHSM KMU ein
<a name="key_mgmt_util-insertMaskedObject"></a>

Verwenden Sie den **insertMaskedObject** Befehl in AWS CloudHSM key\$1mgmt\$1util, um ein maskiertes Objekt aus einer Datei in ein designiertes Hardware-Sicherheitsmodul (HSM) einzufügen. Maskierte Objekte sind *geklonte* Objekte, die mit dem Befehl [**extractMaskedObject**](key_mgmt_util-extractMaskedObject.md) aus einem HSM extrahiert werden. Sie können nur verwendet werden, nachdem sie wieder in den ursprünglichen Cluster eingefügt wurden. Sie können ein maskiertes Objekt nur in den Cluster einfügen, aus dem es erstellt wurde (oder in eine geklonte Version dieses Clusters). Dies umfasst alle geklonten Versionen des ursprünglichen Clusters, die durch eine [regionsübergreifende Sicherungskopie](copy-backup-to-region.md) und die anschließende [Verwendung dieser Sicherung zum Erstellen eines neuen Clusters](create-cluster-from-backup.md) generiert wurden.

Maskierte Objekte sind eine effiziente Möglichkeit zum Auslagern und Synchronisieren von Schlüsseln, auch von nicht extrahierbaren Schlüsseln (d. h. Schlüssel mit einem [`OBJ_ATTR_EXTRACTABLE`](key-attribute-table.md)-Wert von `0`). [Auf diese Weise können Schlüssel sicher zwischen verwandten Clustern in verschiedenen Regionen synchronisiert werden, ohne dass die Konfigurationsdatei aktualisiert werden muss. AWS CloudHSM](configure-tool.md)

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="insertMaskedObject-syntax"></a>

```
insertMaskedObject -h

insertMaskedObject -f <filename>
                   [-min_srv <minimum-number-of-servers>]
                   [-timeout <number-of-seconds>]
```

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

In diesem Beispiel wird gezeigt, wie Sie mit **insertMaskedObject** ein maskiertes Objekt in ein HSM einfügen.

**Example : Einfügen eines maskierten Objekts**  
Dieser Befehl fügt ein maskiertes Objekt aus einer Datei mit dem Namen `maskedObj` in ein HSM ein. Wenn der Befehl erfolgreich ausgeführt wurde, gibt **insertMaskedObject** ein Key-Handle für den aus dem maskierten Objekt entschlüsselten Schlüssel sowie eine Erfolgsmeldung zurück.  

```
Command: insertMaskedObject -f maskedObj

Cfm3InsertMaskedObject returned: 0x00 : HSM Return: SUCCESS
        New Key Handle: 262433

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

## Parameters
<a name="insertMaskedObject-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-f`**  
Gibt den Dateinamen des einzufügenden maskierten Objekts an.  
Erforderlich: Ja

**`-min_srv`**  
Gibt die Mindestanzahl der Server an, auf denen das eingefügte maskierte Objekt synchronisiert wird, bevor der Wert des `-timeout`-Parameters verfällt. Falls das Objekt nicht in der vorgegebenen Zeit mit der angegebenen Anzahl von Servern synchronisiert ist, wird es nicht eingefügt.  
Standard: 1  
Erforderlich: Nein

**`-timeout`**  
Gibt an, wie viele Sekunden bei Einschluss des Parameters `min-serv` gewartet wird, bis der Schlüssel serverübergreifend synchronisiert ist. Wenn keine Anzahl angegeben ist, wird die Abfrage ohne zeitliche Einschränkung fortgesetzt.  
Standard: keine Einschränkung  
Erforderlich: Nein

## Verwandte Themen
<a name="insertMaskedObject-seealso"></a>
+ [extractMaskedObject](key_mgmt_util-extractMaskedObject.md)
+ [syncKey](cloudhsm_mgmt_util-syncKey.md)
+ [Regionsübergreifendes Kopieren einer Sicherung](copy-backup-to-region.md)
+ [Einen AWS CloudHSM Cluster aus einem vorherigen Backup erstellen](create-cluster-from-backup.md)

# Schlüsseldatei mit AWS CloudHSM KMU validieren
<a name="key_mgmt_util-IsValidKeyHandlefile"></a>

Verwenden Sie den **IsValidKeyHandlefile** Befehl in AWS CloudHSM key\$1mgmt\$1util, um herauszufinden, ob eine Schlüsseldatei einen echten privaten Schlüssel oder einen gefälschten RSA-PEM-Schlüssel enthält. Eine gefälschte PEM-Datei enthält nicht das Material des tatsächlichen privaten Schlüssels, sondern verweist auf den privaten Schlüssel im HSM. Eine solche Datei kann verwendet werden, um das Offloading von Ihrem Webserver zu einzurichten. SSL/TLS AWS CloudHSM Weitere Informationen finden Sie unter [SSL/TLS-Offload unter Linux mit Tomcat oder SSL/TLS-Offload unter Linux mit](third-offload-linux-jsse.md) [NGINX](third-offload-linux-openssl.md) oder Apache.

**Anmerkung**  
**IsValidKeyHandlefile**funktioniert nur für RSA-Schlüssel.

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="IsValidKeyHandlefile-syntax"></a>

```
IsValidKeyHandlefile -h

IsValidKeyHandlefile -f <rsa-private-key-file>
```

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

Diese Beispiele verdeutlichen, wie mit **IsValidKeyHandlefile** ermittelt werden kann, ob eine bestimmte Schlüsseldatei das Material des echten Schlüssels oder Material eines gefälschten PEM-Schlüssels enthält.

**Example : Validieren eines echten privaten Schlüssels**  
Mit diesem Befehl wird bestätigt, dass die Datei namens `privateKey.pem` Material des echten Schlüssels enthält.  

```
Command: IsValidKeyHandlefile -f privateKey.pem

Input key file has real private key
```

**Example : Entwerten eines gefälschten PEM-Schlüssels**  
Mit diesem Befehl wird bestätigt, dass die Datei namens `caviumKey.pem` Material eines gefälschten PEM-Schlüssels enthält, das aus dem Schlüssel-Handle `15` erstellt wurde.  

```
Command: IsValidKeyHandlefile -f caviumKey.pem
            
Input file has invalid key handle: 15
```

## Parameters
<a name="IsValidKeyHandlefile-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-h`**  
Zeigt die Befehlszeilenhilfe für den Befehl an.  
Erforderlich: Ja

**`-f`**  
Gibt die Datei mit dem privaten RSA-Schlüssel an, die auf gültiges Schlüsselmaterial überprüft werden soll.  
Erforderlich: Ja

## Verwandte Themen
<a name="IsValidKeyHandlefile-seealso"></a>
+ [getCaviumPrivKey](key_mgmt_util-getCaviumPrivKey.md) (Schlüssel)
+ [SSL/TLS-Offload unter Linux mit Tomcat](third-offload-linux-jsse.md) 
+ [SSL/TLS-Offload unter Linux mit NGINX oder Apache](third-offload-linux-openssl.md)

# Die Attribute eines AWS CloudHSM Schlüssels mithilfe von KMU auflisten
<a name="key_mgmt_util-listAttributes"></a>

Verwenden Sie den **listAttributes** Befehl im AWS CloudHSM key\$1mgmt\$1util, um die Attribute eines Schlüssels und die Konstanten, die sie repräsentieren, aufzulisten. AWS CloudHSM Sie nutzen die Konstanten zum Identifizieren der Attribute in den Befehlen [getAttribute](key_mgmt_util-getAttribute.md) und [setAttribute](key_mgmt_util-setAttribute.md). Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).

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="listAttributes-syntax"></a>

Dieser Befehl hat keine Parameter.

```
listAttributes
```

## Beispiel
<a name="listAttributes-examples"></a>

Mit diesem Befehl werden die Schlüsselattribute aufgelistet, die Sie mit key\$1mgmt\$1util abrufen und ändern können, sowie die Konstanten, die sie darstellen. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md). 

Um alle Attribute im Befehl [getAttribute](key_mgmt_util-getAttribute.md) in key\$1mgmt\$1util darzustellen, verwenden Sie `512`.

```
Command: listAttributes

Following are the possible attribute values for getAttributes:

      OBJ_ATTR_CLASS                  = 0
      OBJ_ATTR_TOKEN                  = 1
      OBJ_ATTR_PRIVATE                = 2
      OBJ_ATTR_LABEL                  = 3
      OBJ_ATTR_KEY_TYPE               = 256
      OBJ_ATTR_ENCRYPT                = 260
      OBJ_ATTR_DECRYPT                = 261
      OBJ_ATTR_WRAP                   = 262
      OBJ_ATTR_UNWRAP                 = 263
      OBJ_ATTR_SIGN                   = 264
      OBJ_ATTR_VERIFY                 = 266
      OBJ_ATTR_LOCAL                  = 355
      OBJ_ATTR_MODULUS                = 288
      OBJ_ATTR_MODULUS_BITS           = 289
      OBJ_ATTR_PUBLIC_EXPONENT        = 290
      OBJ_ATTR_VALUE_LEN              = 353
      OBJ_ATTR_EXTRACTABLE            = 354
      OBJ_ATTR_KCV                    = 371
```

## Verwandte Themen
<a name="listAttributes-seealso"></a>
+ [listAttributes](cloudhsm_mgmt_util-listAttributes.md) in cloudhsm\$1mgmt\$1util
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [setAttribute](key_mgmt_util-setAttribute.md)
+ [Schlüsselattributreferenz](key-attribute-table.md)

# Alle AWS CloudHSM Benutzer auflisten, die KMU verwenden
<a name="key_mgmt_util-listUsers"></a>

Verwenden Sie den **listUsers** Befehl in der Datei AWS CloudHSM key\$1mgmt\$1util, um die Benutzer in den Hardware-Sicherheitsmodulen (HSM) zusammen mit ihrem Benutzertyp und anderen Attributen abzurufen.

In key\$1mgmt\$1util gibt ListUsers eine Ausgabe zurück, die alles HSMs im Cluster darstellt, auch wenn sie nicht konsistent sind. Verwenden Sie zum Abrufen von Informationen über die Benutzer in jedem HSM den Befehl [listUsers](#key_mgmt_util-listUsers) in cloudhsm\$1mgmt\$1util.

Die Benutzerbefehle in key\$1mgmt\$1util **listUsers** und, sind schreibgeschützte Befehle, zu deren Ausführung Crypto-Benutzer () berechtigt [getKeyInfo](key_mgmt_util-getKeyInfo.md)sind. CUs Die restlichen Benutzerverwaltungsbefehle sind Teil von cloudhsm\$1mgmt\$1util. Sie werden von Verschlüsselungsverantwortlichen (CO) mit Benutzerverwaltungsberechtigungen ausgeführt.

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="listUsers-syntax"></a>

```
listUsers 

listUsers -h
```

## Beispiel
<a name="listUsers-examples"></a>

Dieser Befehl listet die Benutzer im Cluster und ihre Attribute auf. HSMs Sie können das `User ID` Attribut verwenden, um Benutzer in anderen Befehlen wie [findKey](key_mgmt_util-findKey.md), [GetAttribute](key_mgmt_util-getAttribute.md) und zu identifizieren. [getKeyInfo](key_mgmt_util-getKeyInfo.md)

```
Command:  listUsers

        Number Of Users found 4

        Index       User ID     User Type       User Name           MofnPubKey    LoginFailureCnt         2FA
        1                1      PCO             admin                     NO               0               NO
        2                2      AU              app_user                  NO               0               NO
        3                3      CU              alice                     YES              0               NO
        4                4      CU              bob                       NO               0               NO
        5                5      CU              trent                     YES              0               NO

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

Die Ausgabe umfasst die folgenden Benutzerattribute:
+ **Benutzer-ID**: Identifiziert den Benutzer in den Befehlen key\$1mgmt\$1util und [cloudhsm\$1mgmt\$1util](cloudhsm_mgmt_util.md).
+ [User type](understanding-users-cmu.md): Bestimmt die Operationen, die der Benutzer im HSM ausführen kann.
+ **User Name**: Zeigt den benutzerdefinierten Anzeigenamen für den Benutzer an.
+ **MofnPubKey**: Gibt an, ob der Benutzer ein key pair zum Signieren von [Quorum-Authentifizierungstoken](quorum-authentication.md) registriert hat.
+ **LoginFailureCnt**: Gibt an, wie oft sich der Benutzer erfolglos angemeldet hat. 
+ **2FA**: Gibt an, dass der Benutzer Multifaktor-Authentifizierung aktiviert hat. 

## Parameters
<a name="listUsers-parameters"></a>

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

## Verwandte Themen
<a name="listUsers-seealso"></a>
+ [listUsers](#key_mgmt_util-listUsers) in cloudhsm\$1mgmt\$1util
+ [findKey](key_mgmt_util-findKey.md)
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [getKeyInfo](key_mgmt_util-getKeyInfo.md)

# Mit AWS CloudHSM KMU bei einem HSM an- und abmelden
<a name="key_mgmt_util-loginHSM"></a>

Verwenden Sie die **logoutHSM** Befehle **loginHSM** und in der Datei AWS CloudHSM key\$1mgmt\$1util, um sich bei den Hardware-Sicherheitsmodulen (HSM) in einem Cluster an- und abzumelden. Sobald Sie bei dem angemeldet sind HSMs, können Sie key\$1mgmt\$1util verwenden, um eine Vielzahl von Schlüsselverwaltungsvorgängen durchzuführen, einschließlich Generierung, Synchronisation und Wrapping von öffentlichen und privaten Schlüsseln.

Bevor Sie den Befehl key\$1mgmt\$1util ausführen, müssen Sie [key\$1mgmt\$1util starten](key_mgmt_util-setup.md#key_mgmt_util-start). [Um Schlüssel mit key\$1mgmt\$1util zu verwalten, müssen Sie sich als Crypto-Benutzer (CU) anmelden. HSMs ](understanding-users-cmu.md#crypto-user-cmu)

**Anmerkung**  
Wenn Sie mehr als fünf falsche Anmeldeversuche tätigen, wird Ihr Konto gesperrt. Wenn Sie Ihren Cluster vor Februar 2018 erstellt haben, wird Ihr Konto nach 20 falschen Anmeldeversuchen gesperrt. Ein Crypto Officer (CO) muss Ihr Passwort mit dem Befehl [changePswd](cloudhsm_mgmt_util-changePswd.md) in cloudhsm\$1mgmt\$1util zurücksetzen, um das Konto zu entsperren.  
Wenn Sie mehr als ein HSM in Ihrem Cluster haben, sind Ihnen möglicherweise weitere falsche Anmeldeversuche gestattet, bevor Ihr Konto gesperrt wird. Dies liegt daran, dass der CloudHSM-Client die Last auf verschiedene verteilt. HSMs Aus diesem Grund beginnt der Anmeldeversuch möglicherweise nicht jedes Mal auf demselben HSM. Wenn Sie diese Funktion testen, empfehlen wir Ihnen, dies auf einem Cluster mit nur einem aktiven HSM zu tun. 

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

```
loginHSM -h

loginHSM -u <user type>
         { -p | -hpswd } <password>
         -s <username>
```

## Beispiel
<a name="loginHSM-examples"></a>

Dieses Beispiel zeigt, wie Sie sich mit den Befehlen und HSMs in einem Cluster an `loginHSM` - und `logoutHSM` abmelden.

**Example : Melden Sie sich bei der an HSMs**  
Dieser Befehl meldet Sie HSMs als Krypto-Benutzer (`CU`) mit dem Benutzernamen `example_user` und dem Passwort an`aws`. Die Ausgabe zeigt, dass Sie sich bei allen HSMs im Cluster angemeldet haben.  

```
Command:  loginHSM -u CU -s example_user -p aws

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

**Example : Melden Sie sich mit einem versteckten Passwort an**  
Dieser Befehl entspricht dem obigen Beispiel, außer dass Sie dieses Mal angeben, dass das System das Passwort verbergen soll.  

```
Command:  loginHSM -u CU -s example_user -hpswd
```
Sie werden vom System aufgefordert, Ihr Passwort einzugeben. Sie geben das Passwort ein, das System versteckt das Passwort und die Ausgabe zeigt, dass der Befehl erfolgreich war und dass Sie sich mit dem HSMs verbunden haben.  

```
Enter password: 

Cfm3LoginHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS

Command:
```

**Example : Loggen Sie sich aus dem ab HSMs**  
Mit diesem Befehl melden Sie sich von der ab HSMs. Die Ausgabe zeigt, dass Sie sich von allen HSMs im Cluster abgemeldet haben.  

```
Command: logoutHSM

Cfm3LogoutHSM returned: 0x00 : HSM Return: SUCCESS
    
Cluster Status
Node id 0 and err state 0x00000000 : HSM Return: SUCCESS
Node id 1 and err state 0x00000000 : HSM Return: SUCCESS
Node id 2 and err state 0x00000000 : HSM Return: SUCCESS
```

## Parameters
<a name="loginHSM-parameters"></a>

**-h**  
Zeigt Hilfe für diesen Befehl an.

**-u**  
Gibt den Anmeldebenutzertyp an. Zum Verwenden von key\$1mgmt\$1util müssen Sie als CU angemeldet sein.  
Erforderlich: Ja

**-s**  
Gibt den Anmeldebenutzernamen an.  
Erforderlich: Ja

**\$1 -p \$1 -hpswd \$1**  
Geben Sie das Login-Passwort mit `-p` an. Das Passwort wird in Klartext angezeigt, wenn Sie es eingeben. Um Ihr Passwort zu verbergen, verwenden Sie den optionalen `-hpswd`-Parameter anstelle von `-p` und folgen Sie der Aufforderung.  
Erforderlich: Ja

## Verwandte Themen
<a name="loginHSM-seealso"></a>
+ [exit](key_mgmt_util-exit.md)

# Legen Sie die Attribute von AWS CloudHSM Schlüsseln mithilfe von KMU fest
<a name="key_mgmt_util-setAttribute"></a>

Verwenden Sie den **setAttribute** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen Schlüssel, der nur in der aktuellen Sitzung gültig ist, in einen dauerhaften Schlüssel zu konvertieren, der solange existiert, bis Sie ihn löschen. Dazu wird der Wert des Token-Attributs des Schlüssels (`OBJ_ATTR_TOKEN`) von „false“ (`0`) in „true“ (`1`) geändert. Sie können nur die Attribute der Schlüssel ändern, deren Eigentümer Sie sind.

Sie können auch den **setAttribute**-Befehl in cloudhsm\$1mgmt\$1util verwenden, um die Attribute label, wrap, unwrap, encrypt und decrypt zu ändern.

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="setAttribute-syntax"></a>

```
setAttribute -h 

setAttribute -o <object handle> 
             -a 1
```

## Beispiel
<a name="setAttribute-examples"></a>

In diesem Beispiel wird gezeigt, wie Sie einen Sitzungsschlüssel in einen persistenten Schlüssel konvertieren. 

Der erste Befehl verwendet den `-sess` Parameter von, um einen 192-Bit-AES-Schlüssel [genSymKey](key_mgmt_util-genSymKey.md)zu erstellen, der nur in der aktuellen Sitzung gültig ist. Die Ausgabe zeigt, dass das Schlüssel-Handle des neuen Sitzungsschlüssels `262154` lautet.

```
Command: genSymKey -t 31 -s 24 -l tmpAES -sess
      
        Cfm3GenerateSymmetricKey returned: 0x00 : HSM Return: SUCCESS

        Symmetric Key Created.  Key Handle: 262154

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

Dieser Befehl verwendet [findKey](key_mgmt_util-findKey.md), um die Sitzungsschlüssel in der aktuellen Sitzung zu suchen. Die Ausgabe verifiziert, dass der Schlüssel `262154` ein Sitzungsschlüssel ist.

```
Command:  findKey -sess 1

Total number of keys present 1

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

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

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

Dieser Befehl verwendet **setAttribute**, um den Schlüssel `262154` von einem Sitzungsschlüssel in einen persistenten Schlüssel zu konvertieren. Dazu wird der Wert des Token-Attributs (`OBJ_ATTR_TOKEN`) des Schlüssels von `0` („false“) in `1` („true“) geändert. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).

Der Befehl verwendet den Parameter `-o` zum Angeben des Schlüssel-Handles (`262154`) und den Parameter `-a` zum Festlegen der Konstanten, die das Token-Attribut (`1`) darstellt. Wenn Sie den Befehl ausführen, werden Sie zur Eingabe eines Werts für das Token-Attribut aufgefordert. Der einzige gültige Wert ist `1` (true); der Wert für einen persistenten Schlüssel.

```
Command: setAttribute -o 262154 -a 1
         This attribute is defined as a boolean value.
          Enter the boolean attribute value (0 or 1):1

        Cfm3SetAttribute returned: 0x00 : HSM Return: SUCCESS

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

Um sich zu vergewissern, dass der Schlüssel `262154` nun persistent ist, verwendet dieser Befehl **findKey** für die Suche nach Sitzungsschlüsseln (`-sess 1`) und persistenten Schlüsseln (`-sess 0`). In diesem Fall findet der Befehl zwar keine Sitzungsschlüssel, gibt jedoch `262154` in der Liste der persistenten Schlüssel zurück.

```
Command: findKey -sess 1

Total number of keys present 0

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

        Cfm3FindKey returned: 0x00 : HSM Return: SUCCESS



Command: findKey -sess 0

Total number of keys present 5

 number of keys matched from start index 0::4
6, 7, 524296, 9, 262154

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

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

## Parameters
<a name="setAttribute-parameters"></a>

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

**-o**  
Gibt das Schlüssel-Handle des Zielschlüssels an. Sie können nur jeweils einen Schlüssel in den einzelnen Befehlen angeben. Verwenden Sie zum Abrufen des Schlüssel-Handles eines Schlüssels [findKey](key_mgmt_util-findKey.md).  
Erforderlich: Ja

**-a**  
Gibt die Konstante an, die das Attribut darstellt, das Sie ändern möchten. Der einzige gültige Wert ist `1`, der das Token-Attribut `OBJ_ATTR_TOKEN` darstellt.  
Verwenden Sie [listAttributes](key_mgmt_util-listAttributes.md), um die Attribute und deren Ganzzahlwerte abzurufen.  
Erforderlich: Ja

## Verwandte Themen
<a name="setAttribute-seealso"></a>
+ [setAttribute](cloudhsm_mgmt_util-setAttribute.md) in cloudhsm\$1mgmt\$1util
+ [getAttribute](key_mgmt_util-getAttribute.md)
+ [listAttributes](key_mgmt_util-listAttributes.md)
+ [Schlüsselattributreferenz](key-attribute-table.md)

# Generieren Sie eine Signatur mit AWS CloudHSM KMU
<a name="key_mgmt_util-sign"></a>

Verwenden Sie den **sign** Befehl in AWS CloudHSM key\$1mgmt\$1util, um einen ausgewählten privaten Schlüssel zu verwenden, um eine Signatur für eine Datei zu generieren.

Um **sign** verwenden zu können, müssen Sie zunächst über einen privaten Schlüssel in Ihrem HSM verfügen. Sie können einen privaten Schlüssel mit dem Befehl **[genSymKey](key_mgmt_util-genSymKey.md)**, **[genRSAKeyPair](key_mgmt_util-genRSAKeyPair.md)** oder **[genECCKeyPair](key_mgmt_util-genECCKeyPair.md)** erstellen. Sie können einen privaten Schlüssel auch mit dem Befehl **[importPrivateKey](key_mgmt_util-importPrivateKey.md)** importieren. Weitere Informationen finden Sie unter [Generieren von Schlüsseln](generate-keys.md).

Der Befehl **sign** verwendet einen benutzerdefinierten Signierungsmechanismus (dargestellt durch eine Ganzzahl) zum Signieren einer Nachricht. Eine Liste mit möglichen Signierungsmechanismen finden Sie unter [Parameter](#sign-parameters).

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="sign-syntax"></a>

```
sign -h

sign -f <file name>
     -k <private key handle>
     -m <signature mechanism>
     -out <signed file name>
```

## Beispiel
<a name="sign-examples"></a>

In diesem Beispiel wird gezeigt, wie Sie den Befehl **sign** verwenden, um eine Datei zu signieren.

**Example : Signieren einer Datei**  
Dieser Befehl signiert eine Datei mit dem Namen `messageFile` anhand eines privaten Schlüssels mit dem Handle `266309`. Er verwendet den `SHA256_RSA_PKCS` (`1`)-Signierungsmechanismus und speichert die signierte Datei als `signedFile`.  

```
Command: sign -f messageFile -k 266309 -m 1 -out signedFile

Cfm3Sign returned: 0x00 : HSM Return: SUCCESS

signature is written to file signedFile

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

## Parameters
<a name="sign-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-f`**  
Der Name der zu signierenden Datei.  
Erforderlich: Ja

**`-k`**  
Das Handle des privaten Schlüssels, der zum Signieren verwendet werden soll.  
Erforderlich: Ja

**`-m`**  
Eine Ganzzahl, die den zum Signieren verwendeten Signierungsmechanismus repräsentiert. Die möglichen Mechanismen entsprechen den folgenden Ganzzahlen:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-sign.html)
Erforderlich: Ja

**`-out`**  
Gibt den Namen der Datei an, in die die signierte Datei gespeichert wird.  
Erforderlich: Ja

## Verwandte Themen
<a name="sign-seealso"></a>
+ [verify](key_mgmt_util-verify.md)
+ [importPrivateKey](key_mgmt_util-importPrivateKey.md)
+ [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md)
+ [ECCKeyGen-Paar](key_mgmt_util-genECCKeyPair.md)
+ [genSymKey](key_mgmt_util-genSymKey.md)
+ [Generieren von Schlüsseln](generate-keys.md)

# Entpacken Sie einen AWS CloudHSM Schlüssel mit KMU
<a name="key_mgmt_util-unwrapKey"></a>

Verwenden Sie den **unWrapKey** Befehl im Tool AWS CloudHSM key\$1mgmt\$1util, um einen verpackten (verschlüsselten) symmetrischen oder privaten Schlüssel aus einer Datei in das HSM zu importieren. Wurde entwickelt, um verschlüsselte Schlüssel zu importieren, die mit dem Befehl [wrapKey](key_mgmt_util-wrapKey.md) in key\$1mgmt\$1util verpackt wurden. Kann aber auch verwendet werden, um Schlüssel zu entpacken, die mit anderen Tools verpackt wurden. In diesen Situationen empfehlen wir jedoch, die Softwarebibliotheken [PKCS\$111](pkcs11-library.md) oder [JCE](java-library.md) zu verwenden, um den Schlüssel zu entpacken.

Importierte Schlüssel funktionieren wie Schlüssel, die von generiert wurden. AWS CloudHSM Der Wert ihres [Attributs OBJ\$1ATTR\$1LOCAL](key-attribute-table.md) ist jedoch Null, was bedeutet, dass sie nicht lokal generiert wurden.

Stellen Sie nach dem Importieren eines Schlüssels sicher, dass Sie die Schlüsseldatei markieren oder löschen. Dieser Befehl verhindert nicht das wiederholte Importieren der gleichen Schlüsselinformationen. Das Ergebnis – mehrere Schlüssel mit unterschiedlichen Schlüsselhandles und demselben Schlüsselmaterial – macht es schwierig, die Verwendung des Schlüsselmaterials zu verfolgen und zu verhindern, dass die kryptografischen Grenzen überschritten werden.

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="unwrapKey-syntax"></a>

```
unWrapKey -h

unWrapKey -f <key-file-name> 
          -w <wrapping-key-handle> 
          [-sess]
          [-min_srv <minimum-number-of-HSMs>]          
          [-timeout <number-of-seconds>]
          [-aad <additional authenticated data filename>]
          [-tag_size <tag size>]
          [-iv_file <IV file>]
          [-attest]
          [-m <wrapping-mechanism>]
          [-t <hash-type>]
          [-nex]
          [-u <user id list>]
          [-m_value <number of users needed for approval>]
          [-noheader]
          [-l <key-label>]
          [-id <key-id>]
          [-kt <key-type>]
          [-kc <key-class>]
          [-i <unwrapping-IV>]
```

## Beispiel
<a name="unwrapKey-examples"></a>

Diese Beispiele zeigen, wie Sie **unWrapKey** einen umschlossenen Schlüssel aus einer Datei in die importieren können HSMs. Im ersten Beispiel entpacken wir einen Schlüssel, der mit dem Befehl **[wrapKey](key_mgmt_util-wrapKey.md)** key\$1mgmt\$1util verpackt wurde und daher einen Header hat. Im zweiten Beispiel entpacken wir einen Schlüssel, der außerhalb von key\$1mgmt\$1util verpackt wurde und daher keinen Header hat.

**Example : Einen Schlüssel entpacken (mit Header)**  
Dieser Befehl importiert eine verpackte Kopie eines symmetrischen 3DES-Schlüssels in ein HSM. Der Schlüssel wird mit einem AES-Schlüssel mit dem Bezeichner `6` entpackt, der mit demjenigen kryptographisch identisch ist, der zum Verpacken des 3DES-Schlüssels verwendet wurde. Die Ausgabe zeigt, dass der Schlüssel in der Datei entpackt und importiert wurde und dass das Handle des importierten Schlüssels `29` ist.  

```
        Command:  unWrapKey -f 3DES.key -w 6 -m 4

        Cfm3UnWrapKey returned: 0x00 : HSM Return: SUCCESS

        Key Unwrapped.  Key Handle: 29

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

**Example : Einen Schlüssel entpacken (kein Header)**  
Dieser Befehl importiert eine verpackte Kopie eines symmetrischen 3DES-Schlüssels in ein HSM. Der Schlüssel wird mit einem AES-Schlüssel mit dem Bezeichner `6` entpackt, der mit demjenigen kryptographisch identisch ist, der zum Verpacken des 3DES-Schlüssels verwendet wurde. Da dieser 3DES-Schlüssel nicht mit key\$1mgmt\$1util verpackt wurde, wird der `noheader`-Parameter zusammen mit den erforderlichen Begleitparametern angegeben: ein Schlüssellabel (`unwrapped3DES`), eine Schlüsselklasse (`4`) und ein Schlüsseltyp (`21`). Die Ausgabe zeigt, dass der Schlüssel in der Datei entpackt und importiert wurde und dass das Handle des importierten Schlüssels `8` ist.  

```
Command: unWrapKey -f 3DES.key -w 6 -noheader -l unwrapped3DES -kc 4 -kt 21 -m 4
      
      Cfm3CreateUnwrapTemplate2 returned: 0x00 : HSM Return: SUCCESS
       Cfm2UnWrapWithTemplate3 returned: 0x00 : HSM Return: SUCCESS

       Key Unwrapped. Key Handle: 8

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

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

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

**-f**  
Gibt den Pfad und Namen der Datei an, die den verpackten Schlüssel enthält.  
Erforderlich: Ja

**-w**  
Gibt den Wrapping-Schlüssel an. Geben Sie das Schlüssel-Handle eines AES-Schlüssels oder RSA-Schlüssels auf dem HSM ein. Dieser Parameter muss angegeben werden. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie, [genSymKey](key_mgmt_util-genSymKey.md)um einen AES-Schlüssel (Typ 31) oder ein [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md) zu generieren, um ein RSA-Schlüsselpaar (Typ 0) zu generieren. Wenn Sie ein RSA-Schlüsselpaar verwenden, achten Sie darauf, den Schlüssel mit einem der Schlüssel zu umwickeln und ihn mit dem anderen zu entpacken. Verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md), um zu überprüfen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann, und um den Wert des `OBJ_ATTR_WRAP`-Attributs abzurufen, der von der Konstanten `262` dargestellt wird.  
Erforderlich: Ja

**-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

**-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

**-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

**-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

**-nex**  
Macht den Schlüssel nicht extrahierbar. Der generierte Schlüssel kann nicht [aus dem HSM exportiert](export-keys.md) werden.  
Standard: Der Schlüssel ist extrahierbar.  
Erforderlich: Nein

**-m**  
Der Wert, der den Verschlüsselungsmechanismus bezeichnet. CloudHSM unterstützt die folgenden Mechanismen:       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
Erforderlich: Ja  
Wenn Sie den `RSA_OAEP` Umbruchmechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch den Modul des RSA-Schlüssels und die Länge des angegebenen Hashs wie folgt bestimmt: Maximale Schlüsselgröße = modulusLengthIn Bytes- (2\$1 hashLengthIn Byte) -2.  
Wenn Sie den RSA\$1PKCS-Wrapping-Mechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch das Modul des RSA-Schlüssels wie folgt bestimmt: Maximale Schlüsselgröße = (Byte -11). modulusLengthIn

**-t**      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-unwrapKey.html)
Erforderlich: Nein

**-noheader**  
Wenn Sie einen Schlüssel entpacken, der außerhalb von key\$1mgmt\$1util verpackt wurde, müssen Sie diesen Parameter und alle anderen zugehörigen Parameter angeben.  
Erforderlich: Nein  
Wenn Sie diesen Parameter angeben, **müssen** Sie auch die folgenden `-noheader`-Parameter angeben:
+ **-l**

  Gibt den Bezeichner an, der dem entpackten Schlüssel hinzugefügt werden soll.

  Erforderlich: Ja
+ **-kc**

  Gibt die Klasse des zu entpackenden Schlüssels an. Die folgenden Werte sind zulässig:

  3 = privater Schlüssel aus einem öffentlich-privaten Schlüsselpaar

  4 = geheimer Schlüssel (symetrisch)

  Erforderlich: Ja
+ **-kt**

  Gibt den Typ des zu entpackenden Schlüssels an. Die folgenden Werte sind zulässig:

  0 = `RSA`

  1 = `DSA`

  3 = `ECC`

  16 = `GENERIC_SECRET`

  21 = `DES3`

  31 = `AES`

  Erforderlich: Ja
Sie können auch **optional** die folgenden `-noheader`-Parameter angeben:  
+ **-id**

  Die ID, die dem entpackten Schlüssel hinzugefügt werden soll.

  Erforderlich: Nein
+ **-i**

  Der zu verwendende Initialisierungsvektor (IV) für das Entpacken.

  Erforderlich: Nein

[1] Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 zulässig. Details dazu finden Sie unter [FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt](compliance-dep-notif.md#compliance-dep-notif-1).

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

# Überprüfen Sie die Signatur einer Datei mit AWS CloudHSM KMU
<a name="key_mgmt_util-verify"></a>

Verwenden Sie den **verify** Befehl in AWS CloudHSM key\$1mgmt\$1util, um zu überprüfen, ob eine Datei mit einem bestimmten Schlüssel signiert wurde oder nicht. Hierzu vergleicht der Befehl **verify** eine signierte Datei mit einer Quelldatei und analysiert auf der Grundlage eines bestimmten öffentlichen Schlüssels und eines Signierungsmechanismus, ob in kryptografischer Hinsicht ein Zusammenhang zwischen ihnen besteht. Dateien können mit dem Vorgang angemeldet werden. AWS CloudHSM **[sign](key_mgmt_util-sign.md)**

Signierungsmechanismen werden durch die im Abschnitt [Parameter](#verify-parameters) aufgeführten Ganzzahlen dargestellt.

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="verify-syntax"></a>

```
verify -h

verify -f <message-file>
       -s <signature-file>
       -k <public-key-handle>
       -m <signature-mechanism>
```

## Beispiel
<a name="verify-examples"></a>

Diese Beispiele zeigen, wie mit **verify** überprüft werden kann, ob ein bestimmter öffentlicher Schlüssel zum Signieren einer bestimmten Datei verwendet wurde.

**Example : Überprüfen einer Dateisignatur**  
Mit diesem Befehl soll überprüft werden, ob eine Datei mit dem Namen `hardwarCert.crt` mit dem öffentlichen Schlüssel `262276` anhand des Signierungsmechanismus `SHA256_RSA_PKCS` signiert wurde, um die signierte Datei `hardwareCertSigned` zu erzeugen. Da es sich bei den angegebenen Parametern um ein echtes Signierungsverhältnis handelt, gibt der Befehl eine Erfolgsmeldung zurück.  

```
Command: verify -f hardwareCert.crt -s hardwareCertSigned -k 262276 -m 1

Signature verification successful

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

**Example : Nachweisen eines ungültigen Signierungsverhältnisses**  
Dieser Befehl überprüft, ob eine Datei mit dem Namen `hardwareCert.crt` mit dem öffentlichen Schlüssel `262276` anhand des Signierungsmechanismus `SHA256_RSA_PKCS` signiert wurde, um die signierte Datei `userCertSigned` zu erzeugen. Da die angegebenen Parameter kein echtes Signierungsverhältnis darstellen, gibt der Befehl eine Fehlermeldung zurück.  

```
Command: verify -f hardwarecert.crt -s usercertsigned -k 262276 -m 1
Cfm3Verify returned: 0x1b

CSP Error: ERR_BAD_PKCS_DATA
```

## Parameters
<a name="verify-parameters"></a>

Dieser Befehl erfordert die folgenden Parameter.

**`-f`**  
Der Name der ursprünglichen Nachrichtendatei.  
Erforderlich: Ja

**`-s`**  
Der Name der signierten Datei.  
Erforderlich: Ja

**`-k`**  
Das Handle des öffentlichen Schlüssels, der vermutlich zum Signieren der Datei verwendet wird.  
Erforderlich: Ja

**`-m`**  
Eine Ganzzahl, die den vorgeschlagenen und zum Signieren der Datei verwendeten Signierungsmechanismus repräsentiert. Die möglichen Mechanismen entsprechen den folgenden Ganzzahlen:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-verify.html)
Erforderlich: Ja

## Verwandte Themen
<a name="verify-seealso"></a>
+ [sign](key_mgmt_util-sign.md)
+ [getCert](key_mgmt_util-genECCKeyPair.md)
+ [Generieren von Schlüsseln](generate-keys.md)

# Exportieren Sie einen AWS CloudHSM Schlüssel mit KMU
<a name="key_mgmt_util-wrapKey"></a>

Verwenden Sie den **wrapKey** Befehl in AWS CloudHSM key\$1mgmt\$1util, um eine verschlüsselte Kopie eines symmetrischen oder privaten Schlüssels aus dem Hardware-Sicherheitsmodul (HSM) in eine Datei zu exportieren. Wenn Sie **wrapKey** ausführen, geben Sie den zu exportierenden Schlüssel, einen Schlüssel in dem HSM zum Verschlüsseln (Wrap) des zu exportierenden Schlüssels und die Ausgabedatei an.

Der Befehl `wrapKey` schreibt den verschlüsselten Schlüssel in eine von Ihnen angegebene Datei, entfernt den Schlüssel jedoch nicht aus dem HSM oder verhindert, dass Sie ihn in kryptographischen Operationen verwenden. Sie können den gleichen Schlüssel mehrmals exportieren. 

Nur der Eigentümer eines Schlüssels, d.h. der Crypto-Benutzer (CU), der den Schlüssel angelegt hat, kann ihn exportieren. Benutzer, für die der Schlüssel freigegeben ist, können ihn in kryptografischen Vorgängen verwenden, können ihn aber nicht exportieren.

Um den verschlüsselten Schlüssel wieder in das HSM zu importieren, verwenden Sie. [unWrapKey](key_mgmt_util-unwrapKey.md) Um einen Klartext-Schlüssel aus einem HSM zu exportieren, verwenden Sie [exSymKey](key_mgmt_util-exSymKey.md)oder [exportPrivateKey](key_mgmt_util-exportPrivateKey.md)je nach Bedarf. [aesWrapUnwrap](key_mgmt_util-aesWrapUnwrap.md)Mit dem Befehl können verschlüsselte Schlüssel nicht entschlüsselt (entpackt) werden. **wrapKey**

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="wrapKey-syntax"></a>

```
wrapKey -h

wrapKey -k <exported-key-handle>
        -w <wrapping-key-handle>
        -out <output-file>
        [-m <wrapping-mechanism>]
        [-aad <additional authenticated data filename>]
        [-t <hash-type>]
        [-noheader]
        [-i <wrapping IV>]  
        [-iv_file <IV file>]
        [-tag_size <num_tag_bytes>>]
```

## Beispiel
<a name="wrapKey-examples"></a>

**Example**  
Mit diesem Befehl wird ein symmetrischer 192-Bit-3DES-Schlüssel exportiert (Schlüssel-Handle `7`). Der Befehl verwendet einen 256-Bit-AES-Schlüssel im HSM (Schlüssel-Handle `14`), um den Schlüssel `7` zu verpacken. Anschließend wird der verschlüsselte 3DES-Schlüssel in die Datei `3DES-encrypted.key` geschrieben.  
Die Ausgabe zeigt, dass der Schlüssel `7` (der 3DES-Schlüssel) erfolgreich verpackt und in die angegebene Datei geschrieben wurde. Der verschlüsselte Schlüssel hat eine Länge von 307 Byte.  

```
        Command:  wrapKey -k 7 -w 14 -out 3DES-encrypted.key -m 4

        Key Wrapped.

        Wrapped Key written to file "3DES-encrypted.key length 307

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

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

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

**-k**  
Der Schlüssel-Handle des Schlüssels, den Sie exportieren möchten. Geben Sie das Schlüssel-Handle eines symmetrischen oder privaten Schlüssels ein, der Ihnen gehört. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Verwenden Sie den Befehl [getAttribute](key_mgmt_util-getAttribute.md), um sicherzustellen, dass ein Schlüssel exportiert werden kann, und um den Wert des Attributs `OBJ_ATTR_EXTRACTABLE` abzurufen, der von der Konstanten `354` dargestellt wird. Hilfe zur Interpretation der Schlüsselattribute finden Sie unter [AWS CloudHSM Referenz zu Schlüsselattributen für KMU](key-attribute-table.md).  
Zudem können Sie nur Schlüssel exportieren, deren Eigentümer Sie sind. Verwenden Sie den Befehl, um den Besitzer eines Schlüssels zu ermitteln. [getKeyInfo](key_mgmt_util-getKeyInfo.md)  
Erforderlich: Ja

**-w**  
Gibt den Wrapping-Schlüssel an. Geben Sie das Schlüssel-Handle eines AES-Schlüssels oder RSA-Schlüssels auf dem HSM ein. Dieser Parameter muss angegeben werden. Verwenden Sie den [findKey](key_mgmt_util-findKey.md)-Befehl, um Schlüssel-Handles zu finden.  
Um einen Wrapping-Schlüssel zu erstellen, verwenden Sie, [genSymKey](key_mgmt_util-genSymKey.md)um einen AES-Schlüssel (Typ 31) oder ein [RSAKeyGen-Paar](key_mgmt_util-genRSAKeyPair.md) zu generieren, um ein RSA-Schlüsselpaar (Typ 0) zu generieren. Wenn Sie ein RSA-Schlüsselpaar verwenden, achten Sie darauf, den Schlüssel mit einem der Schlüssel zu umwickeln und ihn mit dem anderen zu entpacken. Verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md), um zu überprüfen, ob ein Schlüssel als Verpackungsschlüssel verwendet werden kann, und um den Wert des `OBJ_ATTR_WRAP`-Attributs abzurufen, der von der Konstanten `262` dargestellt wird.  
Erforderlich: Ja

**-out**  
Pfad und Name der Ausgabedatei. Wenn der Befehl erfolgreich ist, enthält diese Datei eine verschlüsselte Kopie des exportierten Schlüssels. Wenn die Datei bereits vorhanden ist, überschreibt der Befehl sie ohne Warnung.  
Erforderlich: Ja

**-m**  
Der Wert, der den Verschlüsselungsmechanismus bezeichnet. CloudHSM unterstützt die folgenden Mechanismen:       
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-wrapKey.html)
Erforderlich: Ja  
Wenn Sie den `RSA_OAEP` Wrapping-Mechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch den Modul des RSA-Schlüssels und die Länge des angegebenen Hashs wie folgt bestimmt: Maximale Schlüsselgröße = (modulusLengthInBytes-2\$1 hashLengthIn Bytes-2).  
Wenn Sie den RSA\$1PKCS-Wrapping-Mechanismus verwenden, wird die maximale Schlüsselgröße, die Sie umbrechen können, durch das Modul des RSA-Schlüssels wie folgt bestimmt: Maximale Schlüsselgröße = (Byte -11). modulusLengthIn

**-t**  
Der Wert, der den Hash-Algorithmus darstellt. CloudHSM unterstützt die folgenden Algorithmen:      
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/cloudhsm/latest/userguide/key_mgmt_util-wrapKey.html)
Erforderlich: Nein

**AAD**  
Der Dateiname mit `AAD`.  
Gültig nur für `AES_GCM`- und `CLOUDHSM_AES_GCM`-Mechanismen.
Erforderlich: Nein

**-noheader**  
Lässt den Header weg, der CloudHSM-spezifische [Schlüsselattribute](key_mgmt_util-reference.md) angibt. Verwenden Sie diesen Parameter *nur*, wenn Sie planen, den Schlüssel mit Tools außerhalb von key\$1mgmt\$1util zu entpacken.  
Erforderlich: Nein

**-i**  
Der Initialisierungsvektor (IV) (Hex-Wert).  
Gültig nur, wenn mit dem `-noheader`-Parameter für `CLOUDHSM_AES_KEY_WRAP`- und `NIST_AES_WRAP`-Mechanismen übergeben.
Erforderlich: Nein

**-iv\$1file**  
Die Datei, in die Sie den als Antwort erhaltenen IV-Wert schreiben möchten.  
Gültig nur, wenn mit dem `-noheader`-Parameter für den `AES_GCM`-Mechanismus übergeben.
Erforderlich: Nein

**-tag\$1size**  
Die Größe des Tags, das zusammen mit verschlüsseltem Blob gespeichert werden soll.  
Gültig nur, wenn mit dem `-noheader`-Parameter für `AES_GCM`- und `CLOUDHSM_AES_GCM`-Mechanismen übergeben. Die Mindestgröße der Tags ist acht.
Erforderlich: Nein

[1] Gemäß den NIST-Richtlinien ist dies für Cluster im FIPS-Modus nach 2023 nicht zulässig. Für Cluster im Nicht-FIPS-Modus ist dies auch nach 2023 zulässig. Details dazu finden Sie unter [FIPS-140-Konformität: Mechanismus 2024 nicht mehr unterstützt](compliance-dep-notif.md#compliance-dep-notif-1).

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

# AWS CloudHSM Referenz zu Schlüsselattributen für KMU
<a name="key-attribute-table"></a>

Die AWS CloudHSM key\$1mgmt\$1util-Befehle verwenden Konstanten, um die Attribute von Schlüsseln in einem Hardware-Sicherheitsmodul (HSM) darzustellen. Dieses Thema kann Ihnen helfen, die Attribute zu identifizieren, die Konstanten zu finden, die sie in Befehlen darstellen, und deren Werte zu verstehen. 

Sie legen die Attribute eines Schlüssels fest, wenn Sie ihn erstellen. Um das Token-Attribut zu ändern, das angibt, ob ein Schlüssel persistent ist oder nur in der Sitzung existiert, verwenden Sie den Befehl [setAttribute](key_mgmt_util-setAttribute.md) in key\$1mgmt\$1util. Um die Attribute label, wrap, unwrap, encrypt oder decrypt zu ändern, verwenden Sie den `setAttribute`-Befehl in cloudhsm\$1mgmt\$1util.

Verwenden Sie [listAttributes](key_mgmt_util-listAttributes.md), um eine Liste der Attribute und deren Konstanten abzurufen. Um die Attributwerte für einen Schlüssel abzurufen, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md).

In der folgenden Tabelle finden Sie die Schlüsselattribute, ihre Konstanten und ihre gültige Werte.


| Attribut | Konstante | Werte | 
| --- | --- | --- | 
|  OBJ\$1ATTR\$1ALL  |  512  |  Repräsentiert alle Attribute.  | 
|  OBJ\$1ATTR\$1ALWAYS\$1SENSITIVE  |  357  |  **0**: False.  **1**: True.   | 
|  OBJ\$1ATTR\$1CLASS  |  0  | **2**: Öffentlicher Schlüssel in einem öffentlich-privaten Schlüsselpaar.3: Privater Schlüssel in einem öffentlich-privaten Schlüsselpaar.**4**: Geheimer (symmetrischer) Schlüssel. | 
|  OBJ\$1ATTR\$1DECRYPT  |  261  |  **0**: False.  **1**: True. Der Schlüssel kann zum Entschlüsseln von Daten verwendet werden.  | 
|  OBJ\$1ATTR\$1DERIVE  |  268  |  **0**: False. **1**: True. Die Funktion leitet den Schlüssel ab.   | 
|  OBJ\$1ATTR\$1DESTROYABLE  |  370  |  **0**: False.  **1**: True.   | 
|  OBJ\$1ATTR\$1ENCRYPT  |  260  |  **0**: False.  **1**: True. Der Schlüssel kann zum Verschlüsseln von Daten verwendet werden.   | 
|  OBJ\$1ATTR\$1EXTRACTABLE  |  354  |  **0**: False.  **1**: True. Der Schlüssel kann aus dem exportiert werden. HSMs  | 
|  OBJ\$1ATTR\$1ID  | 258 |  Benutzerdefinierte Zeichenfolge. Muss im Cluster eindeutig sein. Der Standardwert ist eine leere Zeichenfolge. | 
|  OBJ\$1ATTR\$1KCV  |  371  |  Schlüsselprüfwert des Schlüssels. Weitere Informationen finden Sie unter [Weitere Details](#key-attribute-table-details).  | 
|  OBJ\$1ATTR\$1KEY\$1TYPE  | 256 |  **0**: RSA.**1**: DSA.**3**: EC. **16**: Allgemeiner geheimer Schlüssel. **18**: RC4. **21**: Triple DES (3DES). **31**: AES. | 
|  OBJ\$1ATTR\$1LABEL  |  3  | Benutzerdefinierte Zeichenfolge. Muss im Cluster nicht eindeutig sein. | 
|  OBJ\$1ATTR\$1LOCAL  |  355  |  **0**. Falsch. Der Schlüssel wurde in den importiert HSMs. **1**: True.   | 
|  OBJ\$1ATTR\$1MODULUS  |  288  |  Der Modulus, der zum Generieren eines RSA-Schlüsselpaares verwendet wurde. Bei EC-Schlüsseln steht dieser Wert für die DER-Kodierung des ANSI ECPoint X9.62-Werts „Q“ in einem Hexadezimalformat. Für andere Schlüsseltypen ist dieses Attribut nicht vorhanden.  | 
|  OBJ\$1ATTR\$1MODULUS\$1BITS  |  289  |  Die Länge des Modulus, der zum Generieren eines RSA-Schlüsselpaares verwendet wurde. Bei EC-Schlüsseln steht dies für die ID der elliptischen Kurve, die zur Generierung des Schlüssels verwendet wurde. Für andere Schlüsseltypen ist dieses Attribut nicht vorhanden.  | 
|  OBJ\$1ATTR\$1NEVER\$1EXTRACTABLE  |  356  |  **0**: False.  **1**: True. Der Schlüssel kann nicht aus dem exportiert werden. HSMs   | 
|  OBJ\$1ATTR\$1PUBLIC\$1EXPONENT  |  290  |  Der öffentliche Exponent, der zum Generieren eines RSA-Schlüsselpaares verwendet wurde. Für andere Schlüsseltypen ist dieses Attribut nicht vorhanden.  | 
|  OBJ\$1ATTR\$1PRIVATE  |  2  |  **0**: False.  **1**: True. Dieses Attribut gibt an, ob nicht authentifizierte Benutzer die Attribute des Schlüssels auflisten können. Da der CloudHSM PKCS \$1 11-Provider derzeit keine öffentlichen Sitzungen unterstützt, ist bei allen Schlüsseln (einschließlich öffentlicher Schlüssel in einem öffentlich-privaten Schlüsselpaar) dieses Attribut auf 1 festgelegt.  | 
|  OBJ\$1ATTR\$1SENSITIVE  |  259  |  **0**: False. Öffentlicher Schlüssel in einem öffentlich-privaten Schlüsselpaar. **1**: True.   | 
|  OBJ\$1ATTR\$1SIGN  |  264  |  **0**: False.  **1**: True. Der Schlüssel kann zum Signieren verwendet werden (private Schlüssel).  | 
|  OBJ\$1ATTR\$1TOKEN  |  1  |  **0**: False. Sitzungsschlüssel. **1**: True. Persistenter Schlüssel.  | 
|  OBJ\$1ATTR\$1TRUSTED  |  134  |  **0**: False. **1**: True.  | 
|  OBJ\$1ATTR\$1UNWRAP  |  263  |  **0**: False.  **1**: True. Der Schlüssel kann zum Entschlüsseln von Schlüsseln verwendet werden.  | 
|  OBJ\$1ATTR\$1UNWRAP\$1TEMPLATE  |  1073742354  |  Für die Werte sollte die Attributvorlage verwendet werden, die auf jeden Schlüssel angewendet wird, der mit diesem Schlüssel zum Packen entpackt wird.   | 
|  OBJ\$1ATTR\$1VALUE\$1LEN  |  353  |  Schlüssellänge in Bytes.  | 
|  OBJ\$1ATTR\$1VERIFY  |  266  |  **0**: False.  **1**: True. Der Schlüssel für die Verifizierung verwendet werden (öffentliche Schlüssel).  | 
|  OBJ\$1ATTR\$1WRAP  |  262  |  **0**: False.  **1**: True. Der Schlüssel kann zum Verschlüsseln von Schlüsseln verwendet werden.  | 
|  OBJ\$1ATTR\$1WRAP\$1TEMPLATE  |  1073742353  |  Für die Werte sollte die Attributvorlage verwendet werden, die dem Schlüssel entspricht, der mit diesem Schlüssel zum Packen gepackt wurde.   | 
|  OBJ\$1ATTR\$1WRAP\$1WITH\$1TRUSTED  |  528  |  **0**: False.  **1**: True.   | 

## Weitere Details
<a name="key-attribute-table-details"></a>

**Schlüsselprüfwert (Key Check Value, KCV)**  
Der *Schlüsselprüfwert* (KCV) ist ein 3-Byte-Hash oder eine Prüfsumme eines Schlüssels, der generiert wird, wenn das HSM einen Schlüssel importiert oder generiert. Sie können einen KCV auch außerhalb des HSM berechnen, z. B. nachdem Sie einen Schlüssel exportiert haben. Anschließend können Sie die KCVs vergleichen, um die Identität und Integrität des Schlüssels zu bestätigen. Um den KCV eines Schlüssels abzurufen, verwenden Sie [getAttribute](key_mgmt_util-getAttribute.md).  
AWS CloudHSM verwendet die folgende Standardmethode, um einen Schlüsselprüfwert zu generieren:  
+ **Symmetrische Schlüssel**: Die ersten 3 Byte des Ergebnisses der Verschlüsselung eines Nullblocks mit dem Schlüssel.
+ **Asymmetrische Schlüsselpaare**: Die ersten 3 Byte des SHA-1-Hashs des öffentlichen Schlüssels.
+ **HMAC-Schlüssel**: KCV für HMAC-Schlüssel wird derzeit nicht unterstützt.