Verifica uma assinatura usando uma chave assimétrica.
Descrição da operação
Precauções
-
Para obter detalhes sobre a política de acesso que deve ser concedida a um usuário ou função do Resource Access Management (RAM) para invocar esta operação de API, consulte Controle de acesso.
-
Você pode invocar esta operação de API usando um gateway compartilhado ou um gateway dedicado. Para obter mais informações, consulte Alibaba Cloud SDK.
Gateway compartilhado: Acesse o KMS pela rede pública ou usando um endpoint de VPC. Este método exige que você ative o acesso à rede pública. Para obter mais informações, consulte Chaves de acesso em uma instância do KMS pela rede pública.
Gateway dedicado: Acesse o KMS usando o endpoint privado do KMS (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
Limites de QPS
Gateway compartilhado: O limite de QPS por usuário para esta operação de API é 200. Se o limite for excedido, as chamadas de API serão limitadas, o que pode afetar seus negócios. Invoque esta operação de API com uma frequência razoável.
Gateway dedicado: O limite de QPS por usuário para esta operação de API está sujeito às especificações de desempenho de computação da sua instância do KMS. Para obter mais informações, consulte Dados de desempenho.
Detalhes
Somente chaves assimétricas cujo Usage seja SIGN/VERIFY são suportadas. A tabela a seguir lista os algoritmos de assinatura suportados.
| KeySpec | Algorithm | Description |
| RSA_2048 | RSA_PSS_SHA_256 | RSASSA-PSS usando SHA-256 e MGF1 com SHA-256 |
| RSA_2048 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 usando SHA-256 |
| RSA_3072 | RSA_PSS_SHA_256 | RSASSA-PSS usando SHA-256 e MGF1 com SHA-256 |
| RSA_3072 | RSA_PKCS1_SHA_256 | RSASSA-PKCS1-v1_5 usando SHA-256 |
| EC_P256 | ECDSA_SHA_256 | ECDSA na curva P-256 (secp256r1) com um resumo SHA-256 |
| EC_P256K | ECDSA_SHA_256 | ECDSA na curva P-256K (secp256k1) com um resumo SHA-256 |
| EC_SM2 | SM2DSA | Algoritmo de assinatura digital de curva elíptica SM2 |
De acordo com o padrão nacional GBT32918, ao calcular uma assinatura SM2, o parâmetro Digest não é o resumo SM3 calculado diretamente da mensagem original. Em vez disso, é o resumo calculado a partir do valor concatenado de Z(A) e M, onde M é a mensagem original a ser assinada e Z(A) é o valor de hash do Usuário A definido no GBT32918.
Este tópico fornece um exemplo de verificação da assinatura M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****== que foi gerada para o resumo ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuyjfzw= usando o algoritmo RSA_PSS_SHA_256 e uma chave assimétrica com o ID de chave 5c438b18-05be-40ad-b6c2-3be6752c**** e o ID de versão da chave 2ab1a983-7072-4bbc-a582-584b5bd8****.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
kms:AsymmetricVerify |
get |
*Chave.
|
|
Nenhuma |
Parâmetros da solicitação
|
Parâmetro |
Tipo |
Obrigatório |
Descrição |
Exemplo |
| KeyId |
string |
Sim |
O identificador globalmente exclusivo da chave mestra do cliente (CMK). Nota
Você também pode definir este parâmetro como o alias que está vinculado à CMK. Para obter mais informações, consulte Notas de uso para aliases. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| KeyVersionId |
string |
Sim |
O ID da versão da chave. O identificador globalmente exclusivo da versão da chave. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| Algorithm |
string |
Sim |
O algoritmo de assinatura. |
RSA_PSS_SHA_256 |
| Digest |
string |
Sim |
O resumo gerado para a mensagem original usando o algoritmo de hash que corresponde ao parâmetro Algorithm. Nota
O valor é codificado em Base64. |
ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****= |
| Value |
string |
Sim |
O valor da assinatura a ser verificado. Nota
O valor é codificado em Base64. |
M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****== |
| DryRun |
string |
Não |
Especifica se o modo DryRun deve ser ativado. Valores válidos:
O modo DryRun é usado para testar chamadas de API, verificar se você tem as permissões necessárias nos recursos e verificar se os parâmetros da solicitação estão configurados corretamente. Quando o modo DryRun está ativado, o KMS sempre retorna uma falha e fornece a causa da falha. As causas incluem:
|
false |
Elementos de resposta
|
Elemento |
Tipo |
Descrição |
Exemplo |
|
object |
|||
| KeyVersionId |
string |
O número da versão da chave mestra do cliente (CMK) usada para criptografar os dados em texto simples. |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
| KeyId |
string |
O identificador globalmente exclusivo da CMK. Nota
Se o parâmetro KeyId na solicitação estiver definido como o alias da CMK, a resposta retornará o identificador da CMK que corresponde ao alias. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| Value |
boolean |
Indica se a verificação da assinatura foi bem-sucedida. |
true |
| RequestId |
string |
O ID da solicitação. O ID é um identificador exclusivo gerado pela Alibaba Cloud para a solicitação e pode ser usado para solucionar e localizar problemas. |
475f1620-b9d3-4d35-b5c6-3fbdd941423d |
Exemplos
Resposta de sucesso
JSON formato
{
"KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId": "5c438b18-05be-40ad-b6c2-3be6752c****",
"Value": true,
"RequestId": "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}
Códigos de erro
|
Código de status HTTP |
Código de erro |
Mensagem de erro |
Descrição |
|---|---|---|---|
| 400 | InvalidParameter | The specified parameter is not valid. | |
| 404 | Forbidden.AliasNotFound | The specified Alias is not found. | |
| 404 | Forbidden.KeyNotFound | The specified Key is not found. | |
| 404 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.