Menghasilkan tanda tangan digital menggunakan CMK asimetris.
Deskripsi operasi
Tindakan Pencegahan
-
Untuk informasi tentang kebijakan akses yang diperlukan bagi pengguna RAM atau peran RAM untuk memanggil operasi ini, lihat Resource Access Management.
-
Operasi ini dapat dipanggil melalui gateway bersama atau gateway khusus. Untuk informasi selengkapnya, lihat Alibaba Cloud SDK.
-
Gateway bersama: Anda dapat mengakses KMS melalui Internet atau VPC. Metode ini mengharuskan Anda mengaktifkan akses Internet. Untuk informasi selengkapnya, lihat Access keys in a KMS instance over the Internet.
-
Gateway khusus: Anda dapat mengakses KMS menggunakan endpoint privat KMS (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
-
Batas QPS
-
Gateway bersama: Operasi ini dibatasi hingga 200 queries per second (QPS) per pengguna. Jika batas terlampaui, panggilan API akan dibatasi (throttled), yang dapat memengaruhi bisnis Anda. Kami menyarankan Anda memanggil operasi ini dengan kecepatan yang wajar.
-
Gateway khusus: QPS untuk setiap pengguna dibatasi oleh spesifikasi performa instance KMS Anda. Untuk informasi selengkapnya, lihat Metrik performa.
Deskripsi
Operasi ini hanya mendukung kunci asimetris yang parameter Usage-nya disetel ke SIGN/VERIFY. Tabel berikut menjelaskan algoritma tanda tangan yang didukung.
| KeySpec | Algorithm | Description |
| RSA_2048 | RSA_PSS_SHA_256 | RSASSA-PSS using SHA-256 and MGF1 with SHA-256 |
| RSA_2048 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 using SHA-256 |
| RSA_3072 | RSA_PSS_SHA_256 | RSASSA-PSS using SHA-256 and MGF1 with SHA-256 |
| RSA_3072 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 using SHA-256 |
| EC_P256 | ECDSA_SHA_256 | ECDSA on the P-256 Curve(secp256r1) with a SHA-256 digest |
| EC_P256K | ECDSA_SHA_256 | ECDSA on the P-256K Curve(secp256k1) with a SHA-256 digest |
| EC_SM2 | SM2DSA | SM2 elliptic curve digital signature algorithm |
Berdasarkan standar GB/T 32918.2 "Information security technology - SM2 elliptic curve public key cryptography - Part 2: Digital signature algorithm", ketika Anda menghitung tanda tangan SM2, nilai parameter Digest bukanlah nilai hash SM3 dari pesan asli. Sebagai gantinya, nilainya adalah nilai hash SM3 dari hasil penggabungan Z(A) dan M. M adalah pesan asli yang akan ditandatangani. Z(A) adalah nilai hash dari pengguna A, sebagaimana didefinisikan dalam GB/T 32918.2.
Topik ini memberikan contoh cara menggunakan kunci asimetris dengan key ID 5c438b18-05be-40ad-b6c2-3be6752c**** dan key version ID 2ab1a983-7072-4bbc-a582-584b5bd8**** untuk menandatangani digest ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****= menggunakan algoritma tanda tangan RSA_PSS_SHA_256.
Coba sekarang
Test
RAM authorization
Parameter permintaan
|
Parameter |
Type |
Required |
Description |
Example |
| KeyId |
string |
Yes |
Pengidentifikasi unik global (GUID) dari customer master key (CMK). Catatan
Anda juga dapat menentukan alias yang terikat dengan CMK. Untuk informasi selengkapnya, lihat Ikhtisar alias. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| KeyVersionId |
string |
Yes |
ID versi kunci. ID harus berupa GUID dari versi kunci. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| Algorithm |
string |
Yes |
Algoritma tanda tangan. |
RSA_PSS_SHA_256 |
| Digest |
string |
Yes |
Digest dari pesan asli. Digest dihasilkan menggunakan algoritma hash yang sesuai dengan nilai parameter Algorithm. Catatan
|
ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiu****= |
| DryRun |
string |
No |
Menentukan apakah fitur dry-run diaktifkan.
Fitur dry-run digunakan untuk menguji panggilan API serta memverifikasi izin atas sumber daya yang Anda miliki dan validitas parameter permintaan. Jika Anda mengaktifkan fitur dry-run, KMS akan selalu mengembalikan respons kegagalan beserta alasannya. Alasan kegagalan meliputi:
|
false |
Elemen respons
|
Element |
Type |
Description |
Example |
|
object |
|||
| KeyVersionId |
string |
ID versi kunci. ID merupakan GUID dari versi kunci. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyId |
string |
GUID dari CMK. Catatan
Jika Anda menggunakan alias dari CMK dalam permintaan, ID dari CMK yang terikat dengan alias tersebut akan dikembalikan. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| Value |
string |
Tanda tangan yang dihasilkan. Catatan
Nilainya dikodekan dalam Base64. |
M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****== |
| RequestId |
string |
ID permintaan, yang merupakan pengidentifikasi unik yang dihasilkan oleh Alibaba Cloud untuk permintaan tersebut. Anda dapat menggunakan ID permintaan untuk memecahkan masalah dan menemukan letak masalahnya. |
475f1620-b9d3-4d35-b5c6-3fbdd941423d |
Contoh
Respons sukses
JSONformat
{
"KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId": "5c438b18-05be-40ad-b6c2-3be6752c****",
"Value": "M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==",
"RequestId": "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}
Kode kesalahan
|
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 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. | |
| 404 | Forbidden.KeyNotFound | The specified Key is not found. | The error message returned because the specified CMK does not exist. |
| 404 | Forbidden.AliasNotFound | The specified Alias is not found. | The error message returned because the specified alias does not exist. |
Lihat Error Codes untuk daftar lengkap.
Catatan rilis
Lihat Release Notes untuk daftar lengkap.