--- title: "Sign" slug: "security-kms2-token-sign" updated: 2026-10-08T07:21:11Z published: 2026-10-08T07:21:11Z canonical: "api.ncloud-docs.com/security-kms2-token-sign" --- > ## 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. # Sign Classic/VPC環境で利用できます。 最大8KBサイズのデータ署名を作成します。RSA2048または ECDSAキータイプでのみリクエストできます。 ## リクエスト リクエスト形式を説明します。リクエスト形式は次の通りです。 | メソッド | URI | | --- | --- | | POST | /kms/v1/keys/{keyTag}/sign | ### リクエストヘッダ Key Management Service APIで共通して使用されるヘッダの詳細は、[Key Management Serviceのリクエストヘッダ](/docs/ja/security-kms#%EC%9A%94%EC%B2%AD%ED%97%A4%EB%8D%942)をご参照ください。 ### リクエストパスパラメータ リクエストパスパラメータの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `keyTag` | String | Required | キータグ - キー名から派生したキーの固有 ID - [Get Key List](/docs/ja/security-kms2-key-list)を参照 - REST APIで暗号化または復号をリクエストする際に使用 - キータグは機密情報として扱われない | ### リクエストボディ リクエストボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `data` | String | Required | 署名作成対象の、Base64でエンコードされた文字列データ - 最大8KBまで入力可能 | ### リクエスト例 リクエストのサンプルコードは次の通りです。 ``` curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z6/sign' \ --header 'x-ncp-ocapi-token: {Access Token}' \ --data '{ "data": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==" }' ``` ## レスポンス レスポンス形式を説明します。 ### レスポンスボディ レスポンスボディの説明は次の通りです。 | フィールド | タイプ | 必須の有無 | 説明 | | --- | --- | --- | --- | | `code` | String | - | 成功したかどうか | | `data` | Object | - | レスポンス結果 | | `data.signature` | 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%9C2)をご参照ください。 ### レスポンス例 レスポンスのサンプルコードは次の通りです。 ``` { "code": "SUCCESS", "data": { "signature": "{SIGNATURE}" } } ``` ### 署名パラメータ 鍵タイプごとの署名アルゴリズムパラメータは次の通りです。 | 鍵タイプ | 署名アルゴリズム | ハッシュ | MGF | Salt長 | Trailer field | 署名値エンコード | | --- | --- | --- | --- | --- | --- | --- | | `RSA2048` | RSASSA-PSS | SHA-256 | MGF1(SHA-256) | 222バイト | 1 | 256バイト固定 | | `ECDSA` | SHA256withECDSA | SHA-256 | - | - | - | ASN.1 DER | - Salt長222バイトは RSA-PSSの最大 salt長であり、`ceil((2048 - 1) / 8) - 32 - 2 = 222`により算出されます。 - 署名対象は、リクエストボディの`data`を Base64デコードした元のバイトです。 ### 署名値の形式 `data.signature`は次の形式の文字列です。 ``` ncpkms:v{キーバージョン}:{Base64でエンコードされた署名値} ``` [Verify](/docs/ja/security-kms2-token-verify)をリクエストする際は、上記の形式をそのまま送信します。一方、公開鍵を照会して直接検証する場合は、`ncpkms:v{キーバージョン}:`の接頭辞を取り除いた上で Base64デコードします。検証例として[Get Public Key](/docs/ja/security-kms2-token-public-key)をご参照ください。 参考 公開鍵で直接検証する際は、上記の署名パラメータを同様に指定します。OpenSSL、Go、Node.jsは検証時に salt長を署名値から自動的に推論しますが、Java(JCA)は自動推論に対応していないため、`PSSParameterSpec`に salt長を必ず明記しなければなりません。署名パラメータを直接一致させる必要がないように、[Verify](/docs/ja/security-kms2-token-verify)をご利用ください。