全部产品
Search
文档中心

密钥管理服务:AsymmetricEncrypt

更新时间:Mar 08, 2024

调用AsymmetricEncrypt接口使用非对称密钥进行加密。

注意事项

  • 非KMS实例中的密钥:进行密码运算时,仅支持通过阿里云SDK调用OpenAPI。
  • KMS实例中的密钥:进行密码运算时,支持如下两种方式。

QPS限制

本接口的单用户QPS限制为200次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。

详细说明

仅支持UsageENCRYPT/DECRYPT的非对称密钥。支持的加密算法如下表:

KeySpec

Algorithm

说明

可加密的最大字节数

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椭圆曲线公钥加密算法

6047

本文将提供一个示例,使用密钥ID为5c438b18-05be-40ad-b6c2-3be6752c****、密钥版本ID为2ab1a983-7072-4bbc-a582-584b5bd8****的非对称密钥,通过加密算法RSAES_OAEP_SHA_1对明文SGVsbG8gd29ybGQ=进行加密。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称

类型

是否必选

示例值

描述

Action String AsymmetricEncrypt

要执行的操作。取值:AsymmetricEncrypt

Plaintext String SGVsbG8gd29ybGQ=

要加密的明文,使用Base64编码。

KeyId String 5c438b18-05be-40ad-b6c2-3be6752c****

主密钥(CMK)的全局唯一标识符。

说明 该参数也可以被指定为主密钥绑定的别名。更多信息,请参加见别名使用说明
KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

密钥版本ID。密钥版本的全局唯一标识符。

说明 您可以调用ListKeyVersions接口获取KeyVersionId(密钥版本ID)。
Algorithm String RSAES_OAEP_SHA_1

加密算法。

返回数据

名称

类型

示例值

描述

KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

对明文数据进行加密的主密钥版本号。

KeyId String 5c438b18-05be-40ad-b6c2-3be6752c****

主密钥的全局唯一标识符。

说明 如果请求中的KeyId参数使用的是主密钥的别名,在响应中会返回别名对应的主密钥标识符。
CiphertextBlob String BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==

加密后的密文,使用Base64编码。

RequestId String 475f1620-b9d3-4d35-b5c6-3fbdd941423d

本次调用请求的ID,是由阿里云为该请求生成的唯一标识符,可用于排查和定位问题。

示例

请求示例

http(s)://[Endpoint]/?Action=AsymmetricEncrypt
&Plaintext=SGVsbG8gd29ybGQ=
&KeyId=5c438b18-05be-40ad-b6c2-3be6752c****
&KeyVersionId=2ab1a983-7072-4bbc-a582-584b5bd8****
&Algorithm=RSAES_OAEP_SHA_1
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<AsymmetricEncryptResponse>
    <KeyVersionId>2ab1a983-7072-4bbc-a582-584b5bd8****</KeyVersionId>
    <KeyId>5c438b18-05be-40ad-b6c2-3be6752c****</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>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "KeyVersionId" : "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId" : "5c438b18-05be-40ad-b6c2-3be6752c****",
  "CiphertextBlob" : "BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1Wbjwg==",
  "RequestId" : "475f1620-b9d3-4d35-b5c6-3fbdd941423d"
}

错误码

HttpCode

错误码

错误信息

描述

400 Rejected.UnsupportedOperation Unsupported operation. 不支持的操作
404 Forbidden.AliasNotFound The specified Alias is not found. 指定的别名找不到
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密钥不存在。

访问错误中心查看更多错误码。