Verify

Prev Next

Available in Classic and VPC

Compare the signature value against up to 8 KB of signed data and return a verified result. It can only be requested as an RSA2048 or ECDSA key type.

Request

This section describes the request format. The method and URI are as follows:

Method URI
POST /kms/v1/keys/{keyTag}/verify

Request headers

For information about the request headers common to all Key Management Service APIs, see Key Management Service request headers.

Request path parameters

You can use the following path parameters with your request:

Field Type Required Description
keyTag String Required Key tag
  • Unique identifier for the key derived from the key name.
  • See Get key list.
  • Use to request encryption or decryption with REST APIs.
  • Key tags are not treated as confidential information.

Request body

You can include the following data in the body of your request:

Field Type Required Description
data String Required Base64-encoded string data used for signing
  • Maximum 8 KB can be entered.
  • Enter the same value as the data in the Sign request.
signature String Required Signature value to compare
  • Enter the value from the data.signature from the Sign response.
  • ncpkms:v{key version}: {Base64-encoded signature value} format.
  • Validation can't be done if only the signature value without the prefix is entered.
  • Validation is performed using the key version used to generate the signature; validation can't be done if that key version is deactivated.
Note

Since KMS verifies using the same parameters as those used to generate the signature, there is no need to specify signature algorithm parameters. If you are validating directly by retrieving the public key, the parameters must match exactly. For details, see the signature parameters in Sign.

Request example

The request example is as follows:

curl --location --request POST 'https://ocapi.ncloud.com/kms/v1/keys/a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6q7r8s9t0u1v2w3x4y5z7/verify' \
--header 'x-ncp-ocapi-token: {Access Token}' \
--data '{
  "data": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX==",
  "signature": "ncpkms:v1:{BASE64_SIGNATURE}"
}'

Response

This section describes the response format.

Response body

The response body includes the following data:

Field Type Required Description
code String - Success or Failure
data Object - Response result
data.valid Boolean - Whether the signed data matches the signature value
  • true | false
    • true: Match
    • false: No match

Response status codes

For information about the response status codes common to all Key Management Service APIs, see Key Management Service response status codes.

Response example

The response example is as follows:

{
    "code": "SUCCESS",
    "data": {
        "valid": true
    }
}