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.
Unterstützte Java-Schlüsselattribute für AWS CloudHSM Client SDK 5
Dieses Thema enthält Informationen zu unterstützten Java-Schlüsselattributen für das AWS CloudHSM Client SDK 5. Dieses Thema beschreibt, wie Sie eine proprietäre Erweiterung für den JCE-Anbieter verwenden, um Schlüsselattribute festzulegen. Verwenden Sie diese Erweiterung, um unterstützte Schlüsselattribute und ihre Werte während der folgenden Vorgänge festzulegen:
Schlüsselgenerierung
Schlüsselimport
Beispiele für die Verwendung von Schlüsselattributen finden Sie unter Codebeispiele für die AWS CloudHSM Softwarebibliothek für Java für Client SDK 5.
Grundlegendes zu Attributen
Mithilfe von Schlüsselattributen legen Sie fest, welche Aktionen für Schlüsselobjekte zulässig sind, einschließlich öffentlicher, privater oder geheimer Schlüssel. Schlüsselattribute und -werte definieren Sie bei der Erstellung von Schlüsselobjekten.
Die Java Cryptography Extension (JCE) gibt nicht an, wie Sie Werte für Schlüsselattribute festlegen sollten. Daher sind die meisten Aktionen standardmäßig zulässig. Im Gegensatz dazu definiert der PKCS# 11-Standard einen umfassenden Satz von Attributen mit restriktiveren Standardeinstellungen. Ab dem JCE-Anbieter 3.1 steht eine proprietäre Erweiterung AWS CloudHSM zur Verfügung, mit der Sie restriktivere Werte für häufig verwendete Attribute festlegen können.
Unterstützte Attribute
Sie können Werte für die Attribute festlegen, die in der folgenden Tabelle aufgeführt sind. Als bewährte Methode legen Sie nur Werte für Attribute fest, die Sie einschränken möchten. Wenn Sie keinen Wert angeben, wird der in der Tabelle unten angegebene Standardwert AWS CloudHSM verwendet. Eine leere Zelle in der Spalte „Standardwert“ gibt an, dass dem Attribut kein spezifischer Standardwert zugewiesen ist.
Attribut | Standardwert | Hinweise | ||
---|---|---|---|---|
Symmetrischer Schlüssel | Öffentlicher Schlüssel im Schlüsselpaar | Privater Schlüssel im Schlüsselpaar | ||
DECRYPT |
TRUE |
TRUE |
„True“ gibt an, dass Sie den Schlüssel zur Entschlüsselung eines beliebigen Puffers verwenden können. Sie legen dies im Allgemeinen auf „FALSE“ fest für einen Schlüssel, dessen WRAP auf wahr festgelegt ist. | |
DERIVE |
Ermöglicht die Verwendung eines Schlüssels zur Ableitung anderer Schlüssel. | |||
ENCRYPT |
TRUE |
TRUE |
„True“ gibt an, dass Sie den Schlüssel zur Verschlüsselung eines beliebigen Puffers verwenden können. | |
EXTRACTABLE |
TRUE |
TRUE |
„True“ gibt an, dass Sie diesen Schlüssel aus dem HSM exportieren können. | |
ID |
|
|
Ein benutzerdefinierter Wert, der zur Identifizierung des Schlüssels verwendet wird. | |
KEY_TYPE |
Wird verwendet, um den Schlüsseltyp zu identifizieren (AES DESede, generisches Geheimnis, EC oder RSA). | |||
LABEL |
Eine benutzerdefinierte Zeichenfolge, mit der Sie Schlüssel auf Ihrem HSM bequem identifizieren können. Um den bewährten Methoden zu folgen, verwenden Sie für jeden Schlüssel eine eindeutige Bezeichnung, damit er später leichter zu finden ist. | |||
LOCAL |
Weist auf einen vom HSM generierten Schlüssel hin. | |||
OBJECT_CLASS |
Wird verwendet, um die Objektklasse eines Schlüssels (SecretKey, PublicKey oder PrivateKey) zu identifizieren. | |||
PRIVATE |
TRUE |
TRUE |
TRUE |
„True“ gibt an, dass ein Benutzer erst auf den Schlüssel zugreifen darf, wenn der Benutzer authentifiziert ist. Aus Gründen der Übersichtlichkeit können Benutzer AWS CloudHSM erst auf Schlüssel zugreifen, wenn sie authentifiziert wurden, auch wenn dieses Attribut auf FALSE gesetzt ist. |
SIGN |
TRUE |
TRUE |
„True“ gibt an, dass Sie den Schlüssel verwenden können, um einen Hashwert zu signieren. Für öffentliche und private Schlüssel, die Sie archiviert haben, ist dies im Allgemeinen auf „FALSE“ festgelegt. | |
SIZE |
Ein Attribut, das die Größe eines Schlüssels definiert. Weitere Informationen zu den unterstützten Schlüsselgrößen finden Sie unter Unterstützte Mechanismen für das Client-SDK 5. | |||
TOKEN |
FALSE |
FALSE |
FALSE |
Ein permanenter Schlüssel, der HSMs im gesamten Cluster repliziert und in Backups enthalten ist. TOKEN = FALSCH impliziert einen flüchtigen Schlüssel, der automatisch gelöscht wird, wenn die Verbindung zum HSM unterbrochen oder abgemeldet wird. |
UNWRAP |
TRUE |
TRUE |
„True“ gibt an, dass Sie mit dem Schlüssel einen anderen Schlüssel entpacken (importieren) können. | |
VERIFY |
TRUE |
TRUE |
„True“ gibt an, dass Sie den Schlüssel verwenden können, um eine Signatur zu überprüfen. Für private Schlüssel ist dies im Allgemeinen auf „FALSE“ festgelegt. | |
WRAP |
TRUE |
TRUE |
„True“ gibt an, dass Sie den Schlüssel zum Packen eines anderen Schlüssels verwenden können. Für private Schlüssel legen Sie dies in der Regel auf „FALSE“ fest. | |
WRAP_WITH_TRUSTED |
FALSE |
FALSE |
Wahr bedeutet, dass ein Schlüssel nur mit Schlüsseln, deren TRUSTED -Attribut auf wahr gesetzt ist, ein- und ausgepackt werden kann. Sobald bei einem Schlüssel WRAP_WITH_TRUSTED auf wahr gesetzt wurde, ist dieses Attribut schreibgeschützt und kann nicht auf Falsch gesetzt werden. Weitere Informationen zum Trust-Wrapping finden Sie unter Verwenden vertrauenswürdiger Schlüssel zur Steuerung von Schlüssel-Unwraps. |
Anmerkung
Sie erhalten eine breitere Unterstützung für Attribute in der PKCS #11-Bibliothek. Weitere Informationen finden Sie unter Unterstützte PKCS #11-Attribute.
Festlegen von Attributen für einen Schlüssel
KeyAttributesMap
ist ein Java-Map-ähnliches Objekt, mit dem Sie Attributwerte für Schlüsselobjekte festlegen können. Die Methoden für KeyAttributesMap
funktionieren ähnlich den Methoden, die für die Java-Map-Manipulation verwendet werden.
Sie haben zwei Optionen, um benutzerdefinierte Werte für Attribute festzulegen:
Verwenden Sie die in der folgenden Tabelle aufgeführten Methoden
Verwenden Sie Builder-Muster, die später in diesem Dokument gezeigt werden
Attributzuordnungsobjekte unterstützen die folgenden Methoden zum Festlegen von Attributen:
Operation | Rückgabewert | KeyAttributesMap -Methode |
---|---|---|
Abrufen des Werts eines Schlüsselattributs für einen vorhandenen Schlüssel | Objekt (das den Wert enthält) oder null |
get(keyAttribute) |
Eingeben des Werts eines Schlüsselattributs | Der vorherige Wert, der dem Schlüsselattribut zugeordnet ist, oder null, wenn keine Zuordnung für ein Schlüsselattribut vorhanden ist |
put(keyAttribute, Wert) |
Eingeben von Werten für mehrere Schlüsselattribute | N/A |
putAll () keyAttributesMap |
Entfernen eines Schlüssel-Wert-Paares aus der Attributzuordnung |
Der vorherige Wert, der dem Schlüsselattribut zugeordnet ist, oder null, wenn keine Zuordnung für ein Schlüsselattribut vorhanden ist |
remove(keyAttribute) |
Anmerkung
Alle Attribute, die Sie nicht explizit bestimmen, werden auf die Standardwerte festgelegt, die in der vorherigen Tabelle in Unterstützte Attribute aufgeführt sind.
Festlegen von Attributen für ein Schlüsselpaar
Verwenden Sie die Java-Klasse KeyPairAttributesMap
, um Schlüsselattribute für ein Schlüsselpaar zu verarbeiten. KeyPairAttributesMap
fasst zwei KeyAttributesMap
-Objekte zusammen, eines für einen öffentlichen Schlüssel und eines für einen privaten Schlüssel.
Um einzelne Attribute für den öffentlichen und den privaten Schlüssel separat festzulegen, können Sie die put()
-Methode für das entsprechende KeyAttributes
-Zuordnungsobjekt für diesen Schlüssel verwenden. Verwenden Sie die getPublic()
-Methode, um die Attributzuordnung für den öffentlichen Schlüssel abzurufen, und die getPrivate()
-Methode, um die Attributzuordnung für den privaten Schlüssel abzurufen. Geben Sie den Wert mehrerer Schlüsselattribute für öffentliche und private Schlüsselpaare zusammen ein, indem Sie die putAll()
-Methode für eine Attributzuordnung von Schlüsselpaaren als Argument verwenden.