Génère une paire de clés de données asymétrique chiffrée avec la version initiale d'une clé symétrique, et renvoie la clé publique en clair, la clé privée en clair ainsi que la clé privée chiffrée. Utilisez cette paire de clés pour la vérification des signatures en dehors du Key Management Service (KMS).
Notes d'utilisation
Un générateur de nombres aléatoires crée la paire de clés de données, puis le mode Galois/Counter Mode (GCM) la chiffre via la version initiale d'une clé symétrique.
Conservez les champs suivants dans un emplacement sécurisé. Ils sont requis lors de l'appel de l'opération Decrypt pour déchiffrer la clé privée chiffrée :
PrivateKeyCiphertextBlob: la clé privée chiffréeIv: le vecteur d'initialisation (IV)Algorithm: l'algorithme de chiffrementAad: les données d'authentification supplémentaires (AAD)
Le KMS propose quatre opérations pour générer des paires de clés de données. Le tableau ci-dessous indique quand utiliser chacune d'elles.
| API | Scénario | Données de réponse | Version de clé pour le chiffrement | Opération de déchiffrement |
|---|---|---|---|---|
| GenerateDataKey | Aucune rotation automatique des clés ; besoin immédiat de la clé privée en clair | Clé publique en clair, clé privée en clair et clé privée chiffrée | Version initiale | Decrypt |
| GenerateDataKeyPairWithoutPlaintext | Aucune rotation automatique des clés ; la clé privée en clair n'est pas nécessaire ou un niveau de sécurité supérieur est requis | Clé publique en clair et clé privée en clair | Version initiale | Decrypt |
| AdvanceGenerateDataKeyPair | Rotation automatique des clés configurée ; besoin immédiat de la clé privée en clair. Pour plus d'informations sur la rotation des clés, consultez la rubrique Configure key rotation. | Clé publique en clair, clé privée en clair et clé privée chiffrée | Version principale | AdvanceDecrypt |
| AdvanceGenerateDataKeyPairWithoutPlaintext | Rotation automatique des clés configurée ; la clé privée en clair n'est pas nécessaire ou un niveau de sécurité supérieur est requis | Clé publique en clair et clé privée chiffrée | Version principale | AdvanceDecrypt |
Limites
Chaque instance KMS ne traite qu'une seule requête à la fois pour les opérations suivantes : GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, AdvanceGenerateDataKeyPair et AdvanceGenerateDataKeyPairWithoutPlaintext. Contrôlez le débit des requêtes simultanées. Si le nombre de requêtes concurrentes dépasse la limite, le KMS renvoie une erreur 429 (Concurrency Limit Exceeded).
Paramètres de requête
| Paramètre | Type | Obligatoire | Exemple | Description |
|---|---|---|---|---|
| KeyId | string | Oui | key-hzz62f1cb66fa42qo**** |
L'ID de la clé. Vous pouvez également définir ce paramètre sur un alias associé à la clé. Seules les clés symétriques des instances KMS de type gestion de clés logicielle sont prises en charge. |
| KeyPairSpec | string | Oui | RSA_2048 |
Le type de paire de clés de données. Valeurs valides : RSA_2048, RSA_3072, RSA_4096, EC_P256, EC_P256K |
| KeyFormat | string | Oui | PEM |
Le format de la paire de clés. Valeurs valides : PEM, DER |
| Aad | bytes | Non | Données binaires | Les données d'authentification supplémentaires (AAD) utilisées lors du chiffrement de la paire de clés en mode Galois/Counter Mode (GCM). Si spécifié, transmettez la même valeur lors de l'appel de l'opération Decrypt. |
Éléments de réponse
| Paramètre | Type | Exemple | Description |
|---|---|---|---|
| KeyId | string | key-hzz62f1cb66fa42qo**** |
L'ID de la clé. Si la requête utilisait un alias, l'ID de la clé associée à cet alias est renvoyé. |
| KeyPairSpec | string | RSA_2048 |
Le type de paire de clés de données. |
| Algorithm | string | AES_GCM |
L'algorithme de chiffrement. Seul AES_GCM est pris en charge. |
| Iv | bytes | Données binaires | Le vecteur d'initialisation (IV) utilisé pour chiffrer la paire de clés de données. Transmettez cette valeur à l'opération Decrypt lors du déchiffrement de la clé privée chiffrée. |
| PrivateKeyCiphertextBlob | bytes | Données binaires | La clé privée chiffrée de la paire de clés de données. |
| PrivateKeyPlaintext | bytes | Données binaires | La clé privée en clair de la paire de clés de données. Le format dépend de la valeur KeyFormat de la requête : PEM renvoie une clé privée PKCS#8 au format PEM ; DER renvoie une clé privée PKCS#8 au format DER. |
| PublicKey | bytes | Données binaires | La clé publique en clair de la paire de clés de données. Le format dépend de la valeur KeyFormat de la requête : PEM renvoie une clé publique X.509 au format PEM ; DER renvoie une clé publique X.509 au format DER. |
| RequestId | string | 475f1620-b9d3-4d35-b5c6-3fbdd941423d |
L'ID de la requête. |
Codes d'erreur
| Code d'état HTTP | Code d'erreur | Message d'erreur | Description |
|---|---|---|---|
| 429 | Rejected.Throttling | Concurrency Limit Exceeded. | Le nombre de requêtes simultanées dépasse la limite. |
Pour obtenir la liste complète des codes d'erreur, consultez la rubrique Service error codes.