--- title: "Decrypt" slug: "security-kms2-token-decrypt" updated: 2026-10-08T07:21:17Z published: 2026-10-08T07:21:17Z canonical: "api.ncloud-docs.com/security-kms2-token-decrypt" --- > ## Documentation Index > Fetch the complete documentation index at: https://api.ncloud-docs.com/llms.txt > Use this file to discover all available pages before exploring further. # Decrypt Classic/VPC環境で利用できます。 キーで暗号化された暗号文を復号します。AES256または RSA2048キータイプでのみリクエストできます。 注意 マスターキーで暗号化されて返されるデータは`KMS prefix + 暗号文`で構成されています。KMS prefixは`ncpkms:バージョン情報`で構成されていて、復号リクエスト時に指定されたキーバージョンで復号されるため、暗号文と一緒に KMS prefixを正確に明示する必要があります。KMS prefixが正しくないと正確に復号されません。任意に削除したり操作せずに、返された暗号化形式のままで管理してください。 ``` ncpkms:v1:XjsPWPjqPrBi1N2DupSiSbX/ATkGmKA ---------- ------------------------------- KMS prefix 暗号文 ``` ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /kms/v1/keys/{keyTag}/decrypt | ### リクエストヘッダ Key Management Service APIで共通して使用されるヘッダの詳細は、[Key Management Serviceのリクエストヘッダ](/docs/ja/security-kms#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%942%ED%86%A0%ED%81%B0%EC%9D%B8%EC%A6%9D)でトークン認証方式をご参照ください。 ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `keyTag` | String | Required | キータグ - キー名から派生したキーの固有 ID - [Get Key List](/docs/ja/security-kms2-key-list)を参照 - REST APIで暗号化または復号をリクエストする際に使用 - キータグは機密情報として扱われない | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `ciphertext` | Stringまたは Array[String] | Required | 平文を暗号化して作成された文字列 | | `context` | String | Conditional | Base64でエンコードされた文字列データ - 収束暗号化(convergent encryption)が適用されたキーでデータを暗号化する際に使用した`context`パラメータ値の入力が必須 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 - `ciphertext`を Stringタイプでリクエスト ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/decrypt' \ --header 'x-ncp-ocapi-token: {Access Token}' \ --data '{ "ciphertext": "{CIPHERTEXT}", "context": "{BASE64_CONTEXT}" }' ``` - `ciphertext`を Array[String]タイプでリクエスト ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/decrypt' \ --header 'x-ncp-ocapi-token: {Access Token}' \ --data '{ "ciphertext": ["{CIPHERTEXT_1}", "{CIPHERTEXT_2}", "{CIPHERTEXT_3}"], "context": "{BASE64_CONTEXT}" }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `code` | String | - | 成功したかどうか | | `data` | Object | - | レスポンス結果 | | `data.plaintext` | Stringまたは Array[String] | - | 復号された文字列データ - 暗号化前の Base64でエンコードされた文字列データ | ### レスポンスステータスコード Key Management Service APIで共通して使用されるレスポンスステータスコードの詳細は、[Key Management Serviceのレスポンスステータスコード](/docs/ja/security-kms#%EC%9D%91%EB%8B%B5%EC%83%81%ED%83%9C%EC%BD%94%EB%93%9C2)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 - `ciphertext`を Stringタイプでリクエスト ``` { "code": "SUCCESS", "data": { "plaintext": "{BASE64_PLAINTEXT}" } } ``` - `ciphertext`を Array[String]タイプでリクエスト ``` { "code": "SUCCESS", "data": { "plaintext": [ "{BASE64_PLAINTEXT_1}", "{BASE64_PLAINTEXT_2}", "{BASE64_PLAINTEXT_3}" ] } } ``` ### RSA2048公開鍵で暗号化したデータの復号 RSA2048の場合、NAVERクラウドプラットフォーム KMS APIを呼び出さずに公開鍵で直接暗号化したデータであっても、[Encrypt](/docs/ja/security-kms2-token-encrypt#%EC%95%94%ED%98%B8%ED%99%94%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0)に明記された条件と同様に暗号化されていれば、この APIで復号できます。 復号をリクエストする際は、RSA暗号文を Base64でエンコードした後、KMS暗号文識別接頭辞を付けて`ciphertext`として渡します。 ``` ncpkms:v{キーバージョン}:{Base64(RSA暗号文)} ``` 公開鍵の照会および暗号化の例は[Get Public Key](/docs/ja/security-kms2-token-public-key#%EA%B3%B5%EA%B0%9C%ED%82%A4%EB%A1%9C%EC%95%94%ED%98%B8%ED%99%94)をご参照ください。 参考 Decryptは暗号化時に使用されたパラメータで KMSが復号するため、アルゴリズムパラメータを別途指定する必要はありません。公開鍵で直接暗号化したデータを復号する場合は、パラメータを一致させる必要があります。詳細は、[Encrypt](/docs/ja/security-kms2-token-encrypt#%EC%95%94%ED%98%B8%ED%99%94%ED%8C%8C%EB%9D%BC%EB%AF%B8%ED%84%B0)の暗号化パラメータをご参照ください。