すべてのプロダクト
Search
ドキュメントセンター

:AdvanceDecrypt

最終更新日:Jan 03, 2025

暗号文を平文に復号化します。

使用上の注意

AdvanceEncryptAdvanceGenerateDataKeyEncrypt、またはGenerateDataKey操作を呼び出し、ソフトウェアキー管理タイプのキー管理サービス (KMS) インスタンスで対称キーを使用してデータを暗号化する場合、AdvanceDecrypt操作を呼び出して暗号化されたデータを復号化できます。

キーの仕様と暗号化モードの詳細については、「キーの種類と仕様」をご参照ください。

使用上の注意

プロトコルバッファを使用してすべてのリクエストパラメータをエンコードした後、リクエストボディの長さが3 MBを超えないようにしてください。 リクエストボディが3 MBを超えると、サーバーはリクエストを拒否し、HTTP 413ステータスコードを返します。 1回の操作で暗号化と復号化を行うには、データサイズを6 KBに制限することを推奨します。 データが制限を超える場合は、エンベロープ暗号化を使用することを推奨します。 詳細については、「エンベロープ暗号化の使用」をご参照ください。

説明

単一の暗号化または復号化で大量のデータを使用すると、ネットワーク障害のリスクが高まり、ネットワーク伝送に必要な時間が長くなり、KMSがデータを暗号化および復号化するのに必要な期間が長くなります。

リクエストパラメーター

パラメーター

必須 / 任意

説明

CiphertextBlob

バイト

対象

バイナリデータ

復号化する暗号文。

KeyId

String

非対象

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 このパラメーターは、キーにバインドされているエイリアスに設定できます。

このパラメーターは、EncryptまたはGenerateDataKey操作を呼び出して生成された暗号文を復号化する場合にのみ必要です。

アルゴリズム

String

非対象

AES_GCM

解読アルゴリズム。

このパラメーターは、EncryptまたはGenerateDataKey操作を呼び出して生成された暗号文を復号化する場合にのみ必要です。

重要

値は、暗号化中に使用されるアルゴリズムと同じでなければなりません。

Iv

バイト

非対象

バイナリデータ

初期ベクトル。The initial vector.

このパラメーターは、EncryptまたはGenerateDataKey操作を呼び出して生成された暗号文を復号し、AlgorithmをAES_GCMまたはAES_CBCに設定する場合にのみ必要です。

  • AlgorithmがAES_CBCに設定される場合、Ivの値は16バイト長でなければならない。

  • AlgorithmがAES_GCMに設定されている場合、Ivの値は12バイトの長さでなければなりません。

重要

値は、暗号化中に使用される初期ベクトルと同じでなければなりません。

Aad

バイト

非対象

バイナリデータ

認証データ。 値の長さは最大8,192バイトです。

このパラメーターは、データ暗号化中にAlgorithmがAES_GCMに設定され、Aadが指定されている場合にのみ必要です。

重要

値は、暗号化中に使用される認証データと同じである必要があります。

PaddingMode

String

非対象

PKCS7_PADDING

パディングモード。

このパラメーターは、暗号化アルゴリズムをAES_CBCまたはAES_ECBに設定した場合にのみ必要です。

重要

値は、暗号化中に使用されるパディングモードと同じである必要があります。

有効な値:

  • PKCS7_PADDING: PKCS#7パディングが使用されます。 デフォルト値です。 平文の長さは、バイト単位の暗号ブロックサイズの整数倍でなくてもよい。

    入力平文の長さがLバイトである場合、システムは、K − (L mod K) バイトのパディング文字列を追加する。 各パディングストリングは、長さがK − (L mod K) バイトである。

  • NO_PADDING: パディング文字列はプレーンテキストに追加されません。 平文の長さは、バイト単位の暗号ブロックサイズの整数倍でなければならない。

レスポンスパラメーター

パラメーター

タイプ

説明

Plaintext

バイト

バイナリデータ

プレーンテキスト。

KeyId

String

key-hzz62f1cb66fa42qo ****

キーのグローバル一意ID。 リクエストのKeyIdをキーのエイリアスに設定した場合、エイリアスがバインドされているキーのIDが返されます。

KeyVersionId

String

key-hzz62f1cb66fa42qo ****-17kedv ****

暗号文の復号化に使用されるキーバージョンのID。

アルゴリズム

String

AES_GCM

解読アルゴリズム。

PaddingMode

String

PKCS7_PADDING

パディングモード。

暗号化アルゴリズム (algorithm) をAES_CBCまたはAES_ECBに設定した場合にのみ、有効な値が返されます。 それ以外の場合は、空の値が返されます。

RequestId

String

c0037a6d-7784-4ef2-a692-288fdcbc7b9d

リクエストのID。問題の特定とトラブルシューティングに使用されます。

エラーコード

HTTPステータスコード

エラーコード

エラーメッセージ

説明

404

Forbidden.OnlySymmetricKeySupported

キー % sは対称キーではありません。 APIは対称キーのみをサポートします。

対称キーのみがサポートされています。

500

InternalFailure

内部エラーが発生しました。

考えられる原因:

  • 暗号文が要件を満たしていません。

    例えば、暗号文は、AdvanceEncrypt操作を呼び出すことによって得られない。

  • リクエストパラメーターで指定されたキーは、暗号化に使用されるキーではありません。

上記の問題が除外されている場合は、

チケットを起票してテクニカルサポートに連絡します。

エラーコードのリストについては、「サービスエラーコード」をご参照ください。