Encrypt

Prev Next

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

キーの現在のバージョンで、最大32KBサイズのデータを暗号化します。AES256または RSA2048キータイプでのみリクエストできます。

リクエスト

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

メソッド URI
POST /keys/{keyTag}/encrypt

リクエストヘッダ

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

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

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

フィールド タイプ 必須の有無 説明
keyTag String Required キータグ
  • キー名から派生したキーの固有 ID
  • Get Key Listを通じて確認
  • REST APIで暗号化または復号化をリクエストする際に使用
  • キータグは機密情報として扱われない

リクエストボディ

リクエストボディの説明は次の通りです。

フィールド タイプ 必須の有無 説明
plaintext Stringまたは Array<String> Required Base64でエンコードされた文字列データ
  • 最大32KBまでデータを暗号化できる
context String Conditional Base64でエンコードされた文字列データ
  • 収束暗号化(convergent encryption)が適用されたキーの使用時に必須
  • 最大50バイトまで入力可能
  • 同じデータを何度暗号化してもいつも同じ暗号文を作成

リクエスト例

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

  • plaintextを Stringタイプでリクエスト
curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/encrypt' \
--header 'x-ncp-ocapi-token: {Access Token}' \
--data '{
  "plaintext": "{BASE64_PLAINTEXT}",
  "context": "{BASE64_CONTEXT}"
}'
  • plaintextを Array<String>タイプでリクエスト
curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/encrypt' \
--header 'x-ncp-ocapi-token: {Access Token}' \
--data '{
  "plaintext": ["{BASE64_PLAINTEXT_1}", "{BASE64_PLAINTEXT_2}", "{BASE64_PLAINTEXT_3}"],
  "context": "{BASE64_CONTEXT}"
}'

レスポンス

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

レスポンスボディ

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

フィールド タイプ 必須の有無 説明
code String - 成功したかどうか
data Object - レスポンス結果
data.ciphertext Stringまたは Array<String> - 平文を暗号化して作成された文字列データ

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

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

レスポンス例

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

  • plaintextを Stringタイプでリクエスト
{
    "code": "SUCCESS",
    "data": {
        "ciphertext": "{CIPHERTEXT}"
    }
}
  • plaintextを Array<String>タイプでリクエスト
{
    "code": "SUCCESS",
    "data": {
        "ciphertext": [
            "{CIPHERTEXT_1}",
            "{CIPHERTEXT_2}",
            "{CIPHERTEXT_3}"
        ]
    }
}