Assina dados usando uma chave assimétrica.
Descrição da operação
Precauções
-
Para obter detalhes sobre a política de permissões necessária para que um usuário RAM ou uma função RAM chame esta operação de API, consulte Controle de acesso.
-
Você pode chamar esta operação de API por meio de um gateway compartilhado ou um gateway dedicado. Para obter mais informações, consulte Alibaba Cloud SDK.
Gateway compartilhado: Acesse o KMS pela Internet ou por meio de um endpoint de VPC. Para usar este método, você deve ativar o acesso à Internet. Para obter mais informações, consulte Chaves de acesso em uma instância KMS pela Internet.
Gateway dedicado: Acesse o KMS por meio do endpoint privado do KMS (
<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
Limites de QPS
Chamadas por meio de um 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. Faça chamadas de API em uma taxa razoável.
Chamadas por meio de um gateway dedicado: O limite de QPS por usuário para esta operação de API depende das especificações de desempenho de computação da sua instância KMS. Para obter mais informações, consulte Dados de desempenho.
Detalhes
Somente chaves assimétricas cujo Uso está definido como 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 GB/T 32918.2 "Tecnologia de segurança da informação - Algoritmo criptográfico de chave pública SM2 baseado em curvas elípticas - Parte 2: Algoritmo de assinatura digital", ao calcular uma assinatura SM2, o parâmetro Digest não é o resumo SM3 calculado diretamente a partir da mensagem original. Em vez disso, é o resumo calculado a partir da concatenação 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 em GB/T 32918.2.
Este tópico fornece um exemplo de como usar uma chave assimétrica cujo ID de chave é 5c438b18-05be-40ad-b6c2-3be6752c**** e o ID da versão da chave é 2ab1a983-7072-4bbc-a582-584b5bd8**** para assinar o resumo ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiuy****= usando o algoritmo de assinatura RSA_PSS_SHA_256.
Experimente agora
Testar
Autorização RAM
|
Ação |
Nível de acesso |
Tipo de recurso |
Chave de condição |
Ação dependente |
|
kms:AsymmetricSign |
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, que é 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 a partir da mensagem original usando o algoritmo de hash que corresponde ao valor do parâmetro Algorithm. Nota
|
ZOyIygCyaOW6GjVnihtTFtIS9PNmskdyMlNKiu****= |
| DryRun |
string |
Não |
Especifica se o modo dry run deve ser ativado.
O modo dry run é 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 dry run 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 ID da versão da chave, que é o identificador globalmente exclusivo da versão da chave. |
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 à qual o alias está vinculado. |
5c438b18-05be-40ad-b6c2-3be6752c**** |
| Value |
string |
A assinatura calculada. Nota
O valor é codificado em Base64. |
M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****== |
| RequestId |
string |
O ID da solicitação, que é um identificador exclusivo gerado pelo Alibaba Cloud para a solicitação. Você pode usar o ID para solucionar 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": "M2CceNZH00ZgL9ED/ZHFp21YRAvYeZHknJUc207OCZ0N9wNn9As4z2bON3FF3je+1Nu+2+/8Zj50HpMTpzYpMp2R93cYmACCmhaYoKydxylbyGzJR8y9likZRCrkD38lRoS40aBBvv/6iRKzQuo9EGYVcel36cMNg00VmYNBy3pa1rwg3gA4l3cy6kjayZja1WGPkVhrVKsrJMdbpl0ApLjXKuD8rw1n1XLCwCUEL5eLPljTZaAveqdOFQOiZnZEGI27qIiZe7I1fN8tcz6anS/gTM7xRKE++5egEvRWlTQQTJeApnPSiUPA+8ZykNdelQsOQh5SrGoyI4A5pq****==",
"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 | InvalidAccessKeyId.NotFound | The Access Key ID provided does not exist in our records. | |
| 404 | Forbidden.KeyNotFound | The specified Key is not found. | |
| 404 | Forbidden.AliasNotFound | The specified Alias is not found. |
Consulte Códigos de Erro para uma lista completa.
Notas de versão
Consulte Notas de Versão para uma lista completa.