--- title: "Re-encrypt" slug: "security-kms-reencrypt" tags: ["Key Management Service"] updated: 2026-09-17T09:58:23Z published: 2026-09-17T09:58:23Z canonical: "api.ncloud-docs.com/security-kms-reencrypt" --- > ## 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. # Re-encrypt Classic/VPC環境で利用できます。 暗号文を指定されたマスターキーの最新バージョンで再暗号化します。AES256または RSA2048キータイプでのみリクエストできます。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | - API Gateway request signature v1: /keys/v1/{keyTag}/reencrypt - API Gateway request signature v2: /keys/v2/{keyTag}/reencrypt | ### リクエストヘッダ Key Management Service APIで共通して使用されるヘッダの詳細は、[Key Management Serviceのリクエストヘッダ](/docs/ja/security-kms#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%941)をご参照ください。 ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `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)が適用されたキーの使用時、必ず入力 - 最大50バイトまで入力可能 - 同じデータを何度暗号化してもいつも同じ暗号文を作成 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 - API Gateway request signature v1と`ciphertext`を Stringタイプでリクエスト ``` curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v1/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/reencrypt' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-apigw-api-key: {API Gateway API Key}' \ --header 'x-ncp-iam-access-key: {Sub Account Access Key}' \ --header 'x-ncp-apigw-signature-v1: {API Gateway Signature}' \ --data '{ "ciphertext": "{CIPHERTEXT}", "context": "{BASE64_CONTEXT}" }' ``` - API Gateway request signature v2と`ciphertext`を Array[String]タイプでリクエスト ``` curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v2/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/reencrypt' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Sub Account Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --data '{ "ciphertext": ["{CIPHERTEXT_1}", "{CIPHERTEXT_2}", "{CIPHERTEXT_3}"], "context": "{BASE64_CONTEXT}" }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `code` | String | - | 成功したかどうか | | `msg` | String | - | レスオンスコード(`code`)の説明 - リクエスト成功(`SUCCESS`)時、空の値「""」と表示 | | `data` | Object | - | レスポンス結果 | | `data.newCiphertext` | Stringまたは Array[String] | - | 暗号文(`ciphertext`)を指定されたマスターキーの最新バージョンで再暗号化した文字列データ | ### レスポンスステータスコード 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%9C1)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 - `ciphertext`を Stringタイプでリクエスト ``` { "code": "SUCCESS", "msg": "", "data": { "newCiphertext": "{CIPHERTEXT_NEW}" } } ``` - `ciphertext`を Array[String]タイプでリクエスト ``` { "code": "SUCCESS", "msg": "", "data": { "newCiphertext": [ "{CIPHERTEXT_NEW_1}", "{CIPHERTEXT_NEW_2}", "{CIPHERTEXT_NEW_3}" ] } } ```