Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Attributs clés Java pris en charge pour AWS CloudHSM Client SDK 5
Cette rubrique fournit des informations sur les attributs clés Java pris en charge pour AWS CloudHSM le Client SDK 5. Cette rubrique décrit comment utiliser une extension propriétaire permettant au JCE fournisseur de définir des attributs clés. Utilisez cette extension pour définir les attributs de clés pris en charge et leurs valeurs au cours des opérations suivantes :
Génération de clés
Importation de clés
Pour des exemples d'utilisation des attributs de clé, consultez Exemples de code pour la bibliothèque de AWS CloudHSM logiciels pour Java for Client SDK 5.
Présentation des attributs
Les attributs de clé permettent de spécifier les actions autorisées sur les objets de type clé, y compris les clés publiques, privées ou secrètes. Vous définissez les attributs de clés et leurs valeurs lors des opérations de création d'objets de type clé.
L'extension de cryptographie Java (JCE) ne précise pas comment définir les valeurs des attributs clés. La plupart des actions étaient donc autorisées par défaut. En revanche, la norme PKCS n° 11 définit un ensemble complet d'attributs avec des valeurs par défaut plus restrictives. À partir du JCE fournisseur 3.1, AWS CloudHSM fournit une extension propriétaire qui vous permet de définir des valeurs plus restrictives pour les attributs couramment utilisés.
Attributs pris en charge
Vous pouvez définir des valeurs pour les attributs répertoriés dans le tableau ci-dessous. Il est conseillé de spécifier uniquement des valeurs pour les attributs que vous souhaitez restreindre. Si vous ne spécifiez aucune valeur, AWS CloudHSM utilise la valeur par défaut spécifiée dans le tableau ci-dessous. Une cellule vide dans la colonne Default Value (Valeur par défaut) signale qu'aucune valeur par défaut n'est assignée à l'attribut.
Attribut | Valeur par défaut | Remarques | ||
---|---|---|---|---|
Clé symétrique | Clé publique dans la paire de clés | Clé privée dans la paire de clés | ||
DECRYPT |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour déchiffrer n'importe quelle mémoire tampon. Vous définissez généralement cette valeur sur FALSE pour une clé dont la valeur WRAP est définie sur true. | |
DERIVE |
Permet d'utiliser une clé pour dériver d'autres clés. | |||
ENCRYPT |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour chiffrer n'importe quelle mémoire tampon. | |
EXTRACTABLE |
TRUE |
TRUE |
True indique que vous pouvez exporter cette clé depuisHSM. | |
ID |
|
|
Valeur définie par l'utilisateur utilisée pour identifier la clé. | |
KEY_TYPE |
Utilisé pour identifier le type de clé (AESDESede,, secret générique, EC ouRSA). | |||
LABEL |
Chaîne définie par l'utilisateur qui vous permet d'identifier facilement les touches de votreHSM. Conformément aux meilleures pratiques, utilisez une étiquette unique pour chaque clé afin de pouvoir la retrouver plus facilement par la suite. | |||
LOCAL |
Indique une clé générée par leHSM. | |||
OBJECT_CLASS |
Utilisé pour identifier la classe d'objet d'une clé (SecretKey PublicKey ou PrivateKey). | |||
PRIVATE |
TRUE |
TRUE |
TRUE |
True indique qu'un utilisateur ne peut pas accéder à la clé tant qu'il n'est pas authentifié. Pour plus de clarté, les utilisateurs ne peuvent accéder à aucune clé AWS CloudHSM tant qu'ils ne sont pas authentifiés, même si cet attribut est défini sur. FALSE |
SIGN |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour signer le résumé d'un message. Ce paramètre est généralement défini FALSE pour les clés publiques et pour les clés privées que vous avez archivées. | |
SIZE |
Attribut qui définit la taille d'une clé. Pour plus de détails sur les tailles de clé prises en charge, reportez-vous à la section Mécanismes pris en charge pour le Client SDK 5. | |||
TOKEN |
FALSE |
FALSE |
FALSE |
Une clé permanente qui est répliquée sur l'ensemble HSMs du cluster et incluse dans les sauvegardes. TOKEN= FALSE implique une clé éphémère qui est automatiquement effacée lorsque la connexion au HSM est interrompue ou déconnectée. |
UNWRAP |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour décencapsuler (importer) une autre clé. | |
VERIFY |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour valider une signature. Ce paramètre est généralement défini sur FALSE pour les clés privées. | |
WRAP |
TRUE |
TRUE |
True indique que vous pouvez utiliser la clé pour encapsuler une autre clé. Vous définissez généralement ce paramètre sur FALSE pour les clés privées. | |
WRAP_WITH_TRUSTED |
FALSE |
FALSE |
True indique qu'une clé ne peut être encapsulée et désencapsulée qu'avec des clés pour lesquelles l'attribut TRUSTED est défini sur true. Une fois que l’attribut WRAP_WITH_TRUSTED est défini sur true, cet attribut est en lecture seule et ne peut pas être défini sur false. Pour en savoir plus sur l’encapsulage de confiance, consultez la section Utilisation de clés de confiance pour contrôler le désencapsulage des clés. |
Note
Vous bénéficiez d'un support plus large pour les attributs dans la bibliothèque PKCS #11. Pour plus d'informations, consultez la section Attributs PKCS #11 pris en charge.
Définition des attributs pour une clé
KeyAttributesMap
est un objet de type Java Map que vous pouvez utiliser pour définir des valeurs d'attribut pour les objets de type clé. Les méthodes de KeyAttributesMap
fonctionne d'une manière similaire à celles utilisées pour la manipulation de Java Map.
Pour définir des valeurs personnalisées pour les attributs, deux options s'offrent à vous :
Utiliser les méthodes répertoriées dans le tableau suivant
Utiliser les modèles de générateur illustrés plus loin dans ce document
Les objets de mappage d'attribut prennent en charge les méthodes suivantes pour définir les attributs :
Opération | Valeur renvoyée | Méthode KeyAttributesMap |
---|---|---|
Obtenir la valeur d'un attribut pour une clé existante | Objet (contenant la valeur) ou null |
obtenir (keyAttribute) |
Renseigner la valeur d'un attribut de clé | Valeur précédente associée à l'attribut de clé, ou null en l'absence de mappage pour un attribut de clé |
put (keyAttribute, valeur) |
Renseigner des valeurs pour plusieurs attributs de clés | N/A |
putAll(keyAttributesMap) |
Supprimer une paire clé-valeur du mappage d'attributs |
Valeur précédente associée à l'attribut de clé, ou null en l'absence de mappage pour un attribut de clé |
supprimer (keyAttribute) |
Note
Tous les attributs que vous ne spécifiez pas explicitement utilisent les valeurs par défaut répertoriées dans le tableau précédent, dans Attributs pris en charge.
Définition des attributs pour une paire de clés
Utilisez la classe Java KeyPairAttributesMap
pour gérer les attributs d'une paire de clés. KeyPairAttributesMap
encapsule deux objets KeyAttributesMap
: un pour une clé publique et un pour une clé privée.
Pour définir des attributs individuels de la clé publique et la clé privée séparément, vous pouvez utiliser la méthode put()
sur l'objet mappé KeyAttributes
correspondant à cette clé. Choisissez la méthode getPublic()
pour récupérer le mappage d'attributs de la clé publique, et utilisez getPrivate()
pour récupérer le mappage d'attributs de la clé privée. Renseignez la valeur de plusieurs attributs de clés pour les paires de clés publiques et privées en utilisant putAll()
avec le mappage d'attributs d'une paire de clés comme argument.