Generates a signature by using a specified certificate.
Operation description
The signature algorithm in the request parameters must match the key type. The following table describes the mapping between signature algorithms and key types.
| Algorithm | Key Spec |
|---|---|
| RSA_PKCS1_SHA_256 | RSA_2048 |
| RSA_PSS_SHA_256 | RSA_2048 |
| ECDSA_SHA_256 | EC_P256 |
| SM2DSA | EC_SM2 |
In this example, the certificate whose ID is 12345678-1234-1234-1234-12345678**** and the signature algorithm ECDSA_SHA_256 are used to generate a signature for the raw data VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4=. |
Debugging
Authorization information
Request parameters
| Parameter | Type | Required | Description | Example |
|---|---|---|---|---|
| CertificateId | string | Yes | The ID of the certificate. The ID must be globally unique in Certificates Manager. | 12345678-1234-1234-1234-12345678**** |
| Algorithm | string | Yes | The signature algorithm. Valid values:
Note
| ECDSA_SHA_256 |
| MessageType | string | Yes | The type of the message. Valid values:
| RAW |
| Message | string | Yes | The data to be signed. The value is encoded in Base64. For example, if the hexadecimal data that you want to sign is If the MessageType parameter is set to RAW, the size of the data must be less than or equal to 4 KB. If the size of the data is greater than 4 KB, you can set the MessageType parameter to DIGEST and set the Message parameter to the digest of the data. The digest is also called hash value. You can compute the digest of the data on an on-premises machine. Certificates Manager uses the digest that you compute in your own certificate application system. The message digest algorithm that you use must match the specified signature algorithm. Comply with the following mapping between signature algorithms and message digest algorithms:
Note
If the key type of the certificate is EC_SM2 and the MessageType parameter is set to DIGEST, the value of the Message parameter is e that is described in GB/T 32918.2-2016 6.1.
| VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZy4= |
For more information about common request parameters, see Common parameters.
Response parameters
Examples
Sample success responses
JSONformat
{
"SignatureValue": "ZOyIygCyaOW6Gj****MlNKiuyjfzw=",
"RequestId": "5979d897-d69f-4fc9-87dd-f3bb73c40b80",
"CertificateId": "12345678-1234-1234-1234-12345678****"
}Error codes
| HTTP status code | Error code | Error message | Description |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is not valid. | An invalid value is specified for the parameter. |
| 404 | Certificate.NotFound | The specified certificate is not found. | The specified certificate does not exist. |
| 404 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. | - |
For a list of error codes, visit the Service error codes.
