Génère une signature numérique à l'aide d'une CMK asymétrique.
Description de l'opération
Précautions
-
Pour plus d'informations sur les stratégies d'accès requises pour qu'un utilisateur RAM ou un rôle RAM puisse appeler cette opération, consultez Resource Access Management.
-
Cette opération peut être appelée via une passerelle partagée ou une passerelle dédiée. Pour plus d'informations, consultez Alibaba Cloud SDK.
-
Passerelle partagée : vous pouvez accéder à KMS via Internet ou un VPC. Cette méthode nécessite d'activer l'accès à Internet. Pour plus d'informations, consultez Clés d'accès dans une instance KMS via Internet.
-
Passerelle dédiée : vous pouvez accéder à KMS à l'aide du point de terminaison privé de KMS (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
-
Limites de QPS
-
Passerelle partagée : cette opération est limitée à 200 requêtes par seconde (QPS) pour chaque utilisateur. Si la limite est dépassée, les appels d'API sont limités, ce qui peut affecter votre activité. Nous vous recommandons d'appeler cette opération à un rythme raisonnable.
-
Passerelle dédiée : le nombre de QPS pour chaque utilisateur est limité par les spécifications de performances de votre instance KMS. Pour plus d'informations, consultez Indicateurs de performance.
Description
Cette opération prend uniquement en charge les clés asymétriques pour lesquelles le paramètre Usage est défini sur SIGN/VERIFY. Le tableau suivant décrit les algorithmes de signature pris en charge.
| KeySpec | Algorithm | Description |
| RSA_2048 | RSA_PSS_SHA_256 | RSASSA-PSS utilisant SHA-256 et MGF1 avec SHA-256 |
| RSA_2048 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 utilisant SHA-256 |
| RSA_3072 | RSA_PSS_SHA_256 | RSASSA-PSS utilisant SHA-256 et MGF1 avec SHA-256 |
| RSA_3072 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 utilisant SHA-256 |
| EC_P256 | ECDSA_SHA_256 | ECDSA sur la courbe P-256 (secp256r1) avec un condensé SHA-256 |
| EC_P256K | ECDSA_SHA_256 | ECDSA sur la courbe P-256K (secp256k1) avec un condensé SHA-256 |
| EC_SM2 | SM2DSA | Algorithme de signature numérique à courbe elliptique SM2 |
Conformément à la norme GB/T 32918.2 « Technologie de sécurité de l'information - Cryptographie à clé publique à courbe elliptique SM2 - Partie 2 : Algorithme de signature numérique », lors du calcul d'une signature SM2, la valeur du paramètre Digest n'est pas la valeur de hachage SM3 du message d'origine. Au lieu de cela, la valeur est la valeur de hachage SM3 du résultat de la concaténation de Z(A) et M. M est le message d'origine à signer. Z(A) est la valeur de hachage de l'utilisateur A, telle que définie dans la norme GB/T 32918.2.
Cette rubrique fournit un exemple d'utilisation d'une clé asymétrique avec l'identifiant de clé 5c438b18-05be-40ad-b6c2-3be6752c**** et l'identifiant de version de clé 2ab1a983-7072-4bbc-a582-584b5bd8**** pour signer le condensé ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****= à l'aide de l'algorithme de signature RSA_PSS_SHA_256.
Testez maintenant
Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale. Testez cette API dans OpenAPI Explorer, sans signature manuelle. Les appels réussis génèrent automatiquement du code SDK correspondant à vos paramètres. Téléchargez-le avec une sécurité intégrée des identifiants pour une utilisation locale.
Test
Autorisation RAM
Paramètres de requête
|
Paramètre |
Type |
Requis |
Description |
Exemple |
| KeyId |
string |
Oui |
L'identifiant unique global (GUID) de la clé principale cliente (CMK). Remarque
Vous pouvez également spécifier l'alias lié à la CMK. Pour plus d'informations, consultez Présentation des alias. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| KeyVersionId |
string |
Oui |
L'identifiant de la version de la clé. L'identifiant doit être le GUID de la version de la clé. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| Algorithm |
string |
Oui |
L'algorithme de signature. |
RSA_PSS_SHA_256 |
| Digest |
string |
Oui |
Le condensé du message d'origine. Le condensé est généré à l'aide de l'algorithme de hachage qui correspond à la valeur du paramètre Algorithm. Remarque
|
ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiu****= |
| DryRun |
string |
Non |
Indique si la fonctionnalité de test à blanc doit être activée.
La fonctionnalité de test à blanc est utilisée pour tester les appels d'API et vérifier les autorisations sur les ressources dont vous disposez ainsi que la validité des paramètres de la requête. Si vous activez la fonctionnalité de test à blanc, KMS renvoie toujours une réponse d'échec et une raison d'échec. Les raisons d'échec incluent les éléments suivants :
|
false |
Éléments de réponse
|
Élément |
Type |
Description |
Exemple |
|
object |
|||
| KeyVersionId |
string |
L'identifiant de la version de la clé. L'identifiant est le GUID de la version de la clé. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyId |
string |
Le GUID de la CMK. Remarque
Si vous utilisez un alias de la CMK dans la requête, l'identifiant de la CMK à laquelle l'alias est lié est renvoyé. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| Value |
string |
La signature générée. Remarque
La valeur est encodée en Base64. |
M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****== |
| RequestId |
string |
L'identifiant de la requête, qui est un identifiant unique généré par Alibaba Cloud pour la requête. Vous pouvez utiliser l'identifiant de la requête pour dépanner et localiser les problèmes. |
475f1620-b9d3-4d35-b5c6-3fbdd941423d |
Exemples
JSON format
{
"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"
}
Codes d'erreur
|
Code de statut HTTP |
Code d'erreur |
Message d'erreur |
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. |
Consultez Codes d'erreur pour la liste complète.
Notes de version
Consultez Notes de version pour la liste complète.