Chame a operação AsymmetricEncrypt para criptografar dados com uma chave assimétrica.
Precauções
É possível chamar esta operação por meio de um Shared Gateway ou de um gateway dedicado. Para mais informações, consulte Alibaba Cloud SDK.
Shared Gateway: acesse o KMS pela rede pública ou por um nome de domínio de VPC. Este método exige que você ative o acesso à rede pública. Para mais informações, consulte Access keys in a KMS instance over the public network.
Gateway dedicado: acesse o KMS usando um endpoint privado do KMS (<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com).
Limites de QPS
Chamadas via Shared Gateway: o limite de consultas por segundo (QPS) para esta operação é de 200 por conta Alibaba Cloud. Se o número de chamadas exceder esse limite, o throttling será acionado, o que pode afetar seus negócios. Planeje suas chamadas adequadamente.
Chamadas via gateway dedicado: o limite de QPS desta operação depende das especificações de desempenho computacional da sua instância KMS. Para mais informações, consulte Performance metrics.
Descrição
Esta operação suporta apenas chaves assimétricas cujo parâmetro Usage esteja definido como ENCRYPT/DECRYPT. A tabela a seguir descreve os algoritmos de criptografia suportados.
|
KeySpec |
Algorithm |
Description |
Maximum number of bytes that can be encrypted |
|
RSA_2048 |
RSAES_OAEP_SHA_256 |
RSAES-OAEP using SHA-256 and MGF1 with SHA-256 |
190 |
|
RSA_2048 |
RSAES_OAEP_SHA_1 |
RSAES-OAEP using SHA1 and MGF1 with SHA1 |
214 |
|
RSA_3072 |
RSAES_OAEP_SHA_256 |
RSAES-OAEP using SHA-256 and MGF1 with SHA-256 |
318 |
|
RSA_3072 |
RSAES_OAEP_SHA_1 |
RSAES-OAEP using SHA1 and MGF1 with SHA1 |
342 |
|
EC_SM2 |
SM2PKE |
SM2 public key encryption algorithm based on elliptic curves |
6047 |
Este tópico fornece um exemplo de uso de uma chave assimétrica com o ID de chave key-hzz630494463ejqjx** e o ID de versão da chave 2ab1a983-7072-4bbc-a582-584b5bd8** para criptografar o texto simples SGVsbG8gd29ybGQ= com o algoritmo RSAES_OAEP_SHA_1.
Depuração
Parâmetros da solicitação
|
Name |
Type |
Required |
Example |
Description |
| Action | String | Yes | AsymmetricEncrypt | A operação a ser executada. Defina o valor como AsymmetricEncrypt. |
| Plaintext | String | Yes | SGVsbG8gd29ybGQ= | O texto simples a ser criptografado. O texto simples deve estar codificado em Base64. |
| KeyId | String | Yes | key-hzz630494463ejqjx**** | O ID da chave. Você também pode especificar o alias ou o Alibaba Cloud Resource Name (ARN) da chave. Para mais informações sobre aliases, consulte Gerenciar aliases de chave. Nota Ao acessar uma chave pertencente a outra conta Alibaba Cloud, insira o ARN da chave. O formato do ARN da chave é acs:kms:${region}:${account}:key/${keyid}. |
| KeyVersionId | String | Yes | 2ab1a983-7072-4bbc-a582-584b5bd8**** | O ID da versão da chave. Este ID é um identificador globalmente exclusivo para a versão da chave. Nota Chame a operação ListKeyVersions para obter o ID da versão da chave. |
| Algorithm | String | Yes | RSAES_OAEP_SHA_1 | O algoritmo de criptografia. |
| DryRun | String | No | false | Especifique se deve ser realizada uma execução simulada (dry run).
Uma execução simulada serve para verificar se você possui as permissões necessárias e se os parâmetros da solicitação são válidos. No modo de execução simulada, o KMS não executa a operação, mas retorna um resultado de teste. Os resultados possíveis são:
|
Parâmetros de resposta
|
Name |
Type |
Example |
Description |
|
KeyVersionId |
String |
2ab1a983-7072-4bbc-a582-584b5bd8**** |
O ID da versão da chave mestra usada para criptografar o texto simples. |
|
KeyId |
String |
key-hzz630494463ejqjx**** |
O ID da chave. Se você usar um alias ou um ARN da chave na solicitação, o ID da chave será retornado na resposta. |
|
CiphertextBlob |
String |
BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg== |
O texto cifrado, codificado em Base64. |
|
RequestId |
String |
475f1620-b9d3-4d35-b5c6-3fbdd941423d |
O ID da solicitação. A Alibaba Cloud gera um ID exclusivo para cada solicitação. Você pode usar esse ID para solucionar problemas. |
Exemplos
Exemplo de solicitação
http(s)://[Endpoint]/?Action=AsymmetricEncrypt
&Plaintext=SGVsbG8gd29ybGQ=
&KeyId=key-hzz630494463ejqjx****
&KeyVersionId=2ab1a983-7072-4bbc-a582-584b5bd8****
&Algorithm=RSAES_OAEP_SHA_1
&DryRun=false
&Common request parameters
Exemplos de resposta
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<AsymmetricEncryptResponse>
<KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
<KeyId>key-hzz630494463ejqjx****</KeyId>
<CiphertextBlob>BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==</CiphertextBlob>
<RequestId>475f1620-b9d3-4d35-b5c6-3fbdd941423d</RequestId>
</AsymmetricEncryptResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"KeyVersionId" : "2ab1a983-7072-4bbc-a582-584b5bd8****",
"KeyId" : "key-hzz630494463ejqjx****",
"CiphertextBlob" : "BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==",
"RequestId" : "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}
Códigos de erro
|
HTTP status code |
Error code |
Error message |
Description |
|
400 |
Rejected.UnsupportedOperation |
Unsupported operation. |
A operação não é suportada. |
|
404 |
Forbidden.AliasNotFound |
The specified Alias is not found. |
O alias especificado não foi encontrado. |
|
404 |
Forbidden.KeyNotFound |
The specified Key is not found. |
A chave especificada não existe. |
Para mais informações sobre códigos de erro, visite o Error Center.