キーリングの互換性 - 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 キーリング

KMS MasterKey (Java)

KMS MasterKeyProvider (Java)

KMS MasterKey (Python)

KMS MasterKeyProvider (Python)

注記

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

AWS KMS 階層キーリング for .NET のバージョン 4.x AWS Encryption SDK および のバージョン 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 キーをサポートしません。非対称 RSA KMS キーを使用する場合、.NET AWS Encryption SDK 用 のバージョン 4.x は、対称暗号化 (SYMMETRIC_DEFAULT) または非対称 RSA を使用する AWS KMS キーリングをサポートします AWS KMS keys。

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