

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.

# 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\_mgmt\_util, 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\_mgmt\_util-Befehl ausführen, müssen Sie [key\_mgmt\_util 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` \+ 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\_srv**  
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\_value**  
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\_mgmt\_util.   
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)