Genera un key pair de datos asimétrico, cifra la clave privada con la versión inicial de una clave simétrica y devuelve la clave pública en texto plano junto con la clave privada en texto cifrado, sin exponer la clave privada en texto plano.
Notas de uso
Esta operación solo es compatible con instancias de KMS del tipo de gestión de claves por software. Las instancias de KMS del tipo de gestión de claves por hardware no son compatibles.
Esta operación utiliza un generador de números aleatorios para crear un key pair de datos y luego lo cifra con la versión inicial de una clave simétrica. La clave pública se devuelve directamente en texto plano. La clave privada nunca se devuelve en texto plano; solo se obtiene su forma cifrada (clave privada en texto cifrado). Utilice esta operación cuando necesite verificar firmas fuera de KMS sin requerir acceso a la clave privada en texto plano.
Una vez completada la operación, almacene los valores a continuación en una ubicación segura. Estos son necesarios al llamar a Decrypt para descifrar la clave privada en texto cifrado.
PrivateKeyCiphertextBlob: la clave privada en texto cifrado.Iv: el vector de inicialización (IV).Algorithm: el algoritmo de cifrado.Aad: los datos autenticados adicionales (AAD), si se especificaron.
Elija la operación adecuada
KMS proporciona cuatro operaciones para generar key pairs de datos. A continuación se describe cuándo utilizar cada una.
|
API |
Escenario |
Datos de respuesta |
Versión de la clave de cifrado |
Operación de descifrado |
|
GenerateDataKey |
Sin rotación automática de claves; necesita la clave privada en texto plano de inmediato |
Clave pública en texto plano, clave privada en texto plano y clave privada en texto cifrado |
Versión inicial |
|
|
GenerateDataKeyPairWithoutPlaintext |
Sin rotación automática de claves; no necesita la clave privada en texto plano o requiere mayor seguridad |
Clave pública en texto plano y clave privada en texto cifrado |
Versión inicial |
|
|
AdvanceGenerateDataKeyPair |
Rotación automática de claves configurada; necesita la clave privada en texto plano de inmediato |
Clave pública en texto plano, clave privada en texto plano y clave privada en texto cifrado |
Versión principal |
|
|
AdvanceGenerateDataKeyPairWithoutPlaintext |
Rotación automática de claves configurada; no necesita la clave privada en texto plano o requiere mayor seguridad |
Clave pública en texto plano y clave privada en texto cifrado |
Versión principal |
Para obtener más información sobre la rotación de claves, consulte Configure key rotation.
Precauciones
Cada instancia de KMS procesa únicamente una solicitud a la vez para las operaciones GenerateDataKeyPair, GenerateDataKeyPairWithoutPlaintext, AdvanceGenerateDataKeyPair y AdvanceGenerateDataKeyPairWithoutPlaintext. Controle las solicitudes concurrentes para evitar superar este límite. Si el número de solicitudes concurrentes excede el límite, KMS devuelve un error 429 (Concurrency Limit Exceeded).
Parámetros de solicitud
|
Parámetro |
Tipo |
Obligatorio |
Ejemplo |
Descripción |
|
KeyId |
string |
Sí |
|
El ID único global de la clave simétrica que se usará para el cifrado. También puede establecer este parámetro con un alias vinculado a la clave. Solo se admiten claves simétricas en instancias de KMS del tipo de gestión de claves por software. |
|
KeyPairSpec |
string |
Sí |
|
El tipo del key pair de datos asimétrico. Valores válidos: |
|
KeyFormat |
string |
Sí |
|
El formato del key pair de datos. Valores válidos: |
|
Aad |
bytes |
No |
Datos binarios |
Los datos autenticados adicionales (AAD) para el cifrado en modo Galois/Counter (GCM). Si especifica este parámetro, debe pasar el mismo valor al llamar a la operación Decrypt para descifrar la clave privada en texto cifrado. |
Parámetros de respuesta
|
Parámetro |
Tipo |
Ejemplo |
Descripción |
|
KeyId |
string |
|
El ID único global de la clave. Si en la solicitud se estableció |
|
KeyPairSpec |
string |
|
El tipo del key pair de datos. |
|
PublicKey |
bytes |
Datos binarios |
La clave pública en texto plano del key pair de datos en formato X.509. El formato de codificación coincide con el valor de |
|
PrivateKeyCiphertextBlob |
bytes |
Datos binarios |
La clave privada en texto cifrado del key pair de datos. Almacene este valor de forma segura y utilícelo junto con |
|
Iv |
bytes |
Datos binarios |
El vector de inicialización (IV) utilizado para cifrar el key pair de datos. Es obligatorio al llamar a Decrypt para descifrar la clave privada en texto cifrado. |
|
Algorithm |
string |
|
El algoritmo de cifrado utilizado para cifrar el key pair de datos. Solo se admite |
|
RequestId |
string |
|
El ID de la solicitud, utilizado para localizar y solucionar problemas. |
Códigos de error
|
Código de estado HTTP |
Código de error |
Mensaje de error |
Descripción |
|
429 |
Rejected.Throttling |
Concurrency Limit Exceeded. |
El número de solicitudes concurrentes supera el límite. |
Para consultar la lista completa de códigos de error, consulte Service error codes.