Compatibilité du porte-clés - AWS Encryption SDK

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.

Compatibilité du porte-clés

Bien que les différentes implémentations linguistiques du AWS Encryption SDK présentent certaines différences architecturales, elles sont entièrement compatibles, sous réserve des contraintes linguistiques. Vous pouvez chiffrer vos données à l'aide d'une implémentation linguistique et les déchiffrer avec n'importe quelle autre implémentation linguistique. Toutefois, vous devez utiliser les mêmes clés d'encapsulation ou des clés d'encapsulation correspondantes pour chiffrer et déchiffrer vos clés de données. Pour plus d'informations sur les contraintes linguistiques, consultez la rubrique relative à chaque implémentation de langage, comme Compatibilité du kit Kit SDK de chiffrement AWS pour JavaScript dans la Kit SDK de chiffrement AWS pour JavaScript rubrique.

Exigences variables pour les trousseaux de clés de chiffrement

Dans les implémentations de AWS Encryption SDK langage autres que le Kit SDK de chiffrement AWS pour C, toutes les clés d'encapsulation d'un jeu de clés de chiffrement (ou d'un jeu de clés multiples) ou d'un fournisseur de clés principales doivent être en mesure de chiffrer la clé de données. Si le chiffrement d'une clé d'encapsulation échoue, la méthode de chiffrement échoue. Par conséquent, l'appelant doit disposer des autorisations requises pour toutes les clés du trousseau de clés. Si vous utilisez un trousseau de découverte pour chiffrer des données, seul ou dans un jeu de clés multiples, l'opération de chiffrement échoue.

L'exception est le Kit SDK de chiffrement AWS pour C cas où l'opération de chiffrement ignore un jeu de clés de découverte standard, mais échoue si vous spécifiez un jeu de clés de découverte multirégional, seul ou dans un jeu de clés multiclés.

Porte-clés et fournisseurs de clés principales compatibles

Le tableau suivant indique les clés principales et les fournisseurs de clés principales compatibles avec les porte-clés fournis AWS Encryption SDK . Toute incompatibilité mineure due à des contraintes de langage est expliquée dans la rubrique relative à l'implémentation du langage.

Porte-clés : Fournisseur de clés principales :
AWS KMS porte-clés

KMS MasterKey (Java)

KMS MasterKeyProvider (Java)

KMS MasterKey (Python)

KMS MasterKeyProvider (Python)

Note

Le Kit SDK de chiffrement AWS pour Python et Kit SDK de chiffrement AWS pour Java n'incluez pas de clé principale ou de fournisseur de clé principale équivalent au trousseau de clés de découverte AWS KMS régional.

AWS KMS Porte-clés hiérarchique Disponible uniquement avec la version 4. x du AWS Encryption SDK pour .NET et la version 3. x du Kit SDK de chiffrement AWS pour Java.
AWS KMS Porte-clés ECDH Disponible uniquement avec la version 3. x du Kit SDK de chiffrement AWS pour Java.
Porte-clés AES brut

Lorsqu'ils sont utilisés avec des clés de chiffrement symétriques :

JceMasterKey(Java)

RawMasterKey(Python)

Porte-clés RSA brut

Lorsqu'ils sont utilisés avec des clés de chiffrement asymétriques :

JceMasterKey(Java)

RawMasterKey(Python)

Note

Le porte-clés RSA brut ne prend pas en charge les clés KMS asymétriques. Si vous souhaitez utiliser des clés RSA KMS asymétriques, version 4. x of the AWS Encryption SDK for .NET prend en charge les AWS KMS jeux de clés utilisant le chiffrement symétrique (SYMMETRIC_DEFAULT) ou le RSA asymétrique. AWS KMS keys

Porte-clés ECDH brut Disponible uniquement avec la version 3. x du Kit SDK de chiffrement AWS pour Java.