Create Custom Key

Prev Next

Classic/VPC環境で利用できます。

暗号キーとして活用可能な任意の生キー(raw key)を作成します。AES256または RSA2048キータイプでのみリクエストできます。

リクエスト

リクエスト形式を説明します。リクエスト形式は次の通りです。

メソッド URI
POST
  • API Gateway request signature v1: /keys/v1/{keyTag}/createCustomKey
  • API Gateway request signature v2: /keys/v2/{keyTag}/createCustomKey

リクエストヘッダ

Key Management Service APIで共通して使用されるヘッダの詳細は、Key Management Serviceのリクエストヘッダをご参照ください。

リクエストパスパラメータ

リクエストパスパラメータの説明は次の通りです。

フィールド タイプ 必須の有無 説明
keyTag String Required キータグ
  • キー名から派生したキーの固有 ID
  • Get 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バイトまで入力可能
  • 同じデータを何度暗号化してもいつも同じ暗号文を作成

リクエスト例

リクエストのサンプルコードは次の通りです。

  • API Gateway request signature v1リクエスト
curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v1/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/createCustomKey' \
--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 '{
  "requestPlainKey": true,
  "bits": 256,
  "context": "{BASE64_CONTEXT}"
}'
  • API Gateway request signature v2リクエスト
curl --location --request POST 'https://kms.apigw.ntruss.com/keys/v2/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/createCustomKey' \
--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 '{
  "requestPlainKey": true,
  "bits": 256,
  "context": "{BASE64_CONTEXT}"
}'

レスポンス

レスポンス形式を説明します。

レスポンスボディ

レスポンスボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
code String - 成功したかどうか
msg String - レスオンスコード(code)の説明
  • リクエスト成功(SUCCESS)時、空の値「""」と表示
  • data Object - レスポンス結果
    data.ciphertext String - 任意の平文を暗号化して作成された文字列データ
    data.key_version Integer - 作成されたカスタムキーのバージョン
    data.plaintext Stringまたは Array<String> - 作成されたカスタムキーの平文データ
    • requestPlainKeytrueの場合に表示
    • Base64形式でエンコードされている

    レスポンスステータスコード

    Key Management Service APIで共通して使用されるレスポンスステータスコードの詳細は、Key Management Serviceのレスポンスステータスコードをご参照ください。

    レスポンス例

    レスポンスのサンプルコードは次の通りです。

    {
        "code": "SUCCESS",
        "msg": "",
        "data": {
            "ciphertext": "{CIPHERTEXT}",
            "key_version": 3,
            "plaintext": "{BASE64_PLAINTEXT}"
        }
    }