キーリングの互換性 - AWS Encryption SDK

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

キーリングの互換性

の異なる言語実装 AWS Encryption SDK にはいくつかのアーキテクチャ上の違いがありますが、言語の制約により、完全に互換性があります。ある言語実装によってデータを暗号化し、それを他の言語実装で復号することができます。ただし、データキーの暗号化と復号には、同じまたは対応するラッピングキーを使用する必要があります。言語の制約の詳細については、 トピックAWS Encryption SDK for JavaScript の互換性の など、各言語の実装に関する AWS Encryption SDK for JavaScript トピックを参照してください。

暗号化キーリングのさまざまな要件

以外の AWS Encryption SDK 言語実装では AWS Encryption SDK for C、暗号化キーリング (またはマルチキーリング) またはマスターキープロバイダーのすべてのラッピングキーがデータキーを暗号化できる必要があります。いずれかのラッピングキーが暗号化に失敗すると、暗号化メソッドは失敗します。そのため、呼び出し元は、キーリング内のすべてのキーについて必要な許可を持っている必要があります。検出キーリングを使用して、単独またはマルチキーリングでデータを暗号化すると、暗号化操作は失敗します。

例外は で AWS Encryption SDK for C、暗号化オペレーションは標準の検出キーリングを無視しますが、マルチリージョン検出キーリングを単独で、またはマルチキーリングで指定すると失敗します。

互換性があるキーリングおよびマスターキープロバイダー

次の表は、 AWS Encryption SDK が提供するキーリングと互換性のあるマスターキーとマスターキープロバイダーを示しています。言語の制約によるマイナーな非互換性については、言語実装に関するトピックで説明されています。

キーリング: マスターキープロバイダー:
AWS KMS キーリング

KMSMasterKey (Java)

KMSMasterKeyProvider (Java)

KMSMasterKey (Python)

KMSMasterKeyProvider (Python)

注記

AWS Encryption SDK for Python および には、AWS KMS リージョンの検出キーリング に相当するマスターキーまたはマスターキープロバイダー AWS Encryption SDK for Java は含まれません。

AWS KMS 階層キーリング AWS Encryption SDK . 用の のバージョン 4.x および NETのバージョン 3.x でのみ使用できます AWS Encryption SDK for Java。
AWS KMS ECDH キーリング のバージョン 3.x でのみ使用できます AWS Encryption SDK for Java。
Raw AESキーリング

対称暗号化キーと一緒に使用する場合:

JceMasterKey (Java)

RawMasterKey (Python)

Raw RSAキーリング

非対称暗号化キーと一緒に使用する場合:

JceMasterKey (Java)

RawMasterKey (Python)

注記

Raw RSAキーリングは非対称KMSキーをサポートしていません。非対称RSAKMSキーを使用する場合は、 AWS Encryption SDK 用の のバージョン 4.x を使用します。NET は、対称暗号化 (SYMMETRIC_DEFAULT) または非対称 RSA を使用する AWS KMS キーリングをサポートしています AWS KMS keys。

Raw ECDHキーリング AWS Encryption SDK . 用の のバージョン 4.x および NETのバージョン 3.x でのみ使用できます AWS Encryption SDK for Java。