Compatibilidad de conjuntos de claves - AWS Encryption SDK

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Compatibilidad de conjuntos de claves

Si bien las diferentes implementaciones lingüísticas AWS Encryption SDK presentan algunas diferencias arquitectónicas, son totalmente compatibles y están sujetas a las restricciones del idioma. Puede cifrar los datos utilizando una implementación de lenguaje de programación y descifrarlos con cualquier otra implementación de lenguaje. Sin embargo, debe utilizar las mismas o claves maestras correspondientes para cifrar y descifrar las claves de datos. Para obtener información sobre las restricciones de idioma, consulte el tema sobre cada implementación lingüística, como Compatibilidad del SDK de cifrado de AWS para JavaScript en el SDK de cifrado de AWS para JavaScript tema.

Diferentes requisitos para los conjuntos de claves de cifrado

En las implementaciones AWS Encryption SDK lingüísticas distintas del SDK de cifrado de AWS para C conjunto de claves de cifrado (o conjunto de múltiples claves) o del proveedor de claves maestras deben poder cifrar la clave de datos. Si alguna de las claves de encapsulamiento no se cifra, el método de cifrado falla. Como resultado, la persona que llama debe tener los permisos necesarios para todas las claves del conjunto de claves. Si utiliza un conjunto de claves de detección para cifrar los datos, solo o en un conjunto de claves múltiple, la operación de cifrado no se realizará correctamente.

La excepción es la siguiente SDK de cifrado de AWS para C, en la que la operación de cifrado ignora un anillo de claves de detección estándar, pero falla si se especifica un anillo de claves de descubrimiento multirregional, solo o en un anillo de claves múltiples.

Conjuntos de claves compatibles y proveedores de claves maestras

En la siguiente tabla se muestran las claves maestras y los proveedores de claves maestras que son compatibles con los llaveros suministrados. AWS Encryption SDK Cualquier pequeña incompatibilidad por restricciones de lenguaje se explica en el tema que trata la implementación del lenguaje.

Conjunto de claves: Proveedor de claves maestras:
AWS KMS llavero

KMS MasterKey (Java)

KMS MasterKeyProvider (Java)

KMS MasterKey (Python)

KMS MasterKeyProvider (Python)

nota

SDK de cifrado de AWS para Python Y SDK de cifrado de AWS para Java no incluyen una clave maestra o un proveedor de claves maestras que sea equivalente al conjunto de claves de descubrimiento AWS KMS regional.

AWS KMS Conjunto de claves jerárquico Solo disponible con la versión 4. x AWS Encryption SDK para .NET y la versión 3. x de SDK de cifrado de AWS para Java.
AWS KMS llavero ECDH Solo disponible con la versión 3. x del SDK de cifrado de AWS para Java.
Conjunto de claves de AES sin formato

Cuando se utilizan con claves de cifrado simétricas:

JceMasterKey(Java)

RawMasterKey(Python)

Conjunto de claves de RSA sin formato

Cuando se utilizan con claves de cifrado asimétricas:

JceMasterKey(Java)

RawMasterKey(Python)

nota

El conjunto de claves de RSA no admite claves de KMS asimétricas. Si desea utilizar claves asimétricas de RSA KMS, versión 4. x de la versión AWS Encryption SDK para .NET admite conjuntos de AWS KMS claves que utilizan cifrado simétrico (SYMMETRIC_DEFAULT) o RSA asimétrico. AWS KMS keys

Anillo de claves ECDH sin procesar Solo disponible con la versión 3. x del SDK de cifrado de AWS para Java.