tencent cloud

Feedback

SignByAsymmetricKey

Last updated: 2022-01-18 17:21:50

1. API Description

Domain name for API request: kms.tencentcloudapi.com.

This API is used to generate a signature with an asymmetric key.
Note that only when KeyUsage is ASYMMETRIC_SIGN_VERIFY_${ALGORITHM} (e.g., ASYMMETRIC_SIGN_VERIFY_SM2 and ASYMMETRIC_SIGN_VERIFY_ECC), the key can be used for signing.

A maximum of 100 requests can be initiated per second for this API.

We recommend you to use API Explorer
Try it
API Explorer provides a range of capabilities, including online call, signature authentication, SDK code generation, and API quick search. It enables you to view the request, response, and auto-generated examples.

2. Input Parameters

The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
This document describes the parameters for Signature V1. It's recommended to use the V3 signature, which provides higher security. Note that for Signature V3, the common parameters need to be placed in the HTTP Header. See details.

Parameter Name Required Type Description
Action Yes String Common parameter. The value used for this API: SignByAsymmetricKey.
Version Yes String Common parameter. The value used for this API: 2019-01-18.
Region Yes String Common parameter. For more information, please see the list of regions supported by the product.
Algorithm Yes String Signature algorithm. The valid values include SM2DSA, ECC_P256_R1, RSA_PSS_SHA_256, and RSA_PKCS1_SHA_256, etc. You can get a full list of supported algorithms using the ListAlgorithms API.
Message Yes String Full message or message abstract. Before Base64 encoding, an original message can contain up to 4,096 bytes while a message abstract must be 32 bytes.
KeyId Yes String Unique ID of a key
MessageType No String Message type. Valid values: RAW (indicating an original message; used by default if the parameter is not passed in) and DIGEST.

3. Output Parameters

Parameter Name Type Description
Signature String Base64-encoded signature
RequestId String The unique request ID, which is returned for each request. RequestId is required for locating a problem.

4. Example

Example1 Generating a signature with an asymmetric key

Input Example

https://kms.tencentcloudapi.com/?Action=SignByAsymmetricKey
&Algorithm=SM2DSA
&Message=Zsfw9GLu7dnR8tRr3BDk4kFnxIdc8veiKX2gK49LqOA%3D
&KeyId=6cdf26d1-44ff-11eb-841c-5254006d0810
&MessageType=DIGEST
&<Common request parameters>

Output Example

{
  "Response": {
    "RequestId": "e86d6131-2830-4e1c-9d03-d421affd646c",
    "Signature": "MEUCICr/JCV52BqGvI0iYxdZ1eL8zzJjx39mWNv2ZWdLOMvRAiEApO6os3Wj0Tg302fbTBr02IxHO1aCr0Zr41t4hi6yTG8="
  }
}

5. Developer Resources

SDK

TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.

Command Line Interface

6. Error Code

The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.

Error Code Description
AuthFailure CAM signature/authentication error
InternalError Internal error.
InvalidParameter Invalid parameter.
InvalidParameterValue.InvalidKeyId Invalid KeyId.
MissingParameter Missing parameters. Please check and try again.
ResourceUnavailable.CmkNotFound The CMK does not exist.
ResourceUnavailable.CmkStateNotSupport This operation cannot be performed under the current CMK status.
Contact Us

Contact our sales team or business advisors to help your business.

Technical Support

Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

7x24 Phone Support