--- title: "Encrypt" slug: "security-kms-encrypt" tags: ["Key Management Service"] updated: 2026-10-08T07:21:01Z published: 2026-10-08T07:21:01Z canonical: "api.ncloud-docs.com/security-kms-encrypt" --- > ## 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. # Encrypt Classic/VPC環境で利用できます。 キーの現在のバージョンで、最大32KBサイズのデータを暗号化します。AES256または RSA2048キータイプでのみリクエストできます。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | - API Gateway request signature v1: /keys/v1/{keyTag}/encrypt - API Gateway request signature v2: /keys/v2/{keyTag}/encrypt | ### リクエストヘッダ 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で暗号化または復号をリクエストする際に使用 - キータグは機密情報として扱われない | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `plaintext` | Stringまたは Array[String] | Required | Base64でエンコードされた文字列データ - 最大32KBまでデータを暗号化できる | | `context` | String | Conditional | Base64でエンコードされた文字列データ - 収束暗号化(convergent encryption)が適用されたキーの使用時、必ず入力 - 最大50バイトまで入力可能 - 同じデータを何度暗号化してもいつも同じ暗号文を作成 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 - API Gateway request signature v1と`plaintext`を Stringタイプでリクエスト ``` curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v1/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/encrypt' \ --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 '{ "plaintext": "{BASE64_PLAINTEXT}", "context": "{BASE64_CONTEXT}" }' ``` - API Gateway request signature v2と`plaintext`を Array[String]タイプでリクエスト ``` curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v2/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/encrypt' \ --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 '{ "plaintext": ["{BASE64_PLAINTEXT_1}", "{BASE64_PLAINTEXT_2}", "{BASE64_PLAINTEXT_3}"], "context": "{BASE64_CONTEXT}" }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `code` | String | - | 成功したかどうか | | `msg` | String | - | レスオンスコード(`code`)の説明 - リクエスト成功(`SUCCESS`)時、空の値「""」と表示 | | `data` | Object | - | レスポンス結果 | | `data.ciphertext` | String | - | 平文を暗号化して作成された文字列データ | ### レスポンスステータスコード 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)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 - `plaintext`を Stringタイプでリクエスト ``` { "code": "SUCCESS", "msg": "", "data": { "ciphertext": "{CIPHERTEXT}" } } ``` - `plaintext`を Array[String]タイプでリクエスト ``` { "code": "SUCCESS", "msg": "", "data": { "ciphertext": [ "{CIPHERTEXT_1}", "{CIPHERTEXT_2}", "{CIPHERTEXT_3}" ] } } ``` ### RSA2048公開鍵で直接暗号化する場合 RSA2048鍵の暗号化アルゴリズムパラメータは次の通りです。 | 項目 | 値 | | --- | --- | | アルゴリズム | RSAES-OAEP | | OAEPハッシュ | SHA-256 | | MGF | MGF1 with SHA-256 | | Label | なし | | 平文の最大サイズ | 190 bytes | Javaのパラメータ定義例は次の通りです。 ``` OAEPParameterSpec spec = new OAEPParameterSpec( "SHA-256", "MGF1", MGF1ParameterSpec.SHA256, PSource.PSpecified.DEFAULT); ``` 参考 NAVERクラウドプラットフォーム KMSは韓国の暗号勧告基準に従い OAEP-SHA1をサポートせず、上記スペックの単一方式でのみ動作するため、暗号化・復号リクエスト時にアルゴリズムパラメータを別途指定する必要はありません。KMS APIを呼び出さずに公開鍵で直接暗号化したデータであっても、上記の条件と同様に暗号化されていれば、[Decrypt](/docs/ja/security-kms-decrypt#%EA%B3%B5%EA%B0%9C%ED%82%A4%EC%95%94%ED%98%B8%ED%99%94%EB%B3%B5%ED%98%B8%ED%99%94)で復号できます。公開鍵の照会および暗号化の例は[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)をご参照ください。