--- title: "Create Custom Key" slug: "security-kms2-custom-key" updated: 2026-09-17T09:58:23Z published: 2026-09-17T09:58:23Z canonical: "api.ncloud-docs.com/security-kms2-custom-key" --- > ## 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. # Create Custom Key Classic/VPC環境で利用できます。 暗号キーとして活用可能な任意の生キー(raw key)を作成します。AES256または RSA2048キータイプでのみリクエストできます。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /kms/v1/keys/{keyTag}/create-custom-key | ### リクエストヘッダ Key Management Service APIで共通して使用されるヘッダの詳細は、[Key Management Serviceのリクエストヘッダ](/docs/ja/security-kms#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%942%EA%B3%84%EC%A0%95%EC%9D%B8%EC%A6%9D)でアカウント認証方式をご参照ください。 ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `keyTag` | String | Required | キータグ - キー名から派生したキーの固有 ID - [Get Key List](/docs/ja/security-kms2-key-list)を参照 - REST APIで暗号化または復号化をリクエストする際に使用 - キータグは機密情報として扱われない | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `requestPlainKey` | Boolean | Optional | 暗号化された任意の平文を作成するかどうか - `true` \| `false` (デフォルト) - `true`: 作成 - `false`: 作成しない | | `bits` | Integer | Optional | 作成するキーデータのサイズ(Bit) - `128` \| `256` (デフォルト) \| `512` | | `context` | String | Conditional | Base64でエンコードされた文字列データ - 収束暗号化(convergent encryption)が適用されたキーの使用時に必須 - 最大50バイトまで入力可能 - 同じデータを何度暗号化してもいつも同じ暗号文を作成 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/create-custom-key' \ --header 'x-ncp-apigw-timestamp: {Timestamp}' \ --header 'x-ncp-iam-access-key: {Access Key}' \ --header 'x-ncp-apigw-signature-v2: {API Gateway Signature}' \ --data '{ "requestPlainKey": true, "bits": 256, "context": "{BASE64_CONTEXT}" }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `code` | String | - | 成功したかどうか | | `data` | Object | - | レスポンス結果 | | `data.plaintext` | Stringまたは Array[String] | - | Base64でエンコードされた任意の文字列データ | | `data.ciphertext` | String | - | 任意の平文を暗号化して作成された文字列データ | | `data.key_version` | Integer | - | 作成されたカスタムキーのバージョン | ### レスポンスステータスコード 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)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 ``` { "code": "SUCCESS", "data": { "plaintext": "{BASE64_PLAINTEXT}", "ciphertext": "{CIPHERTEXT}", "key_version": 1 } } ```