AsymmetricEncrypt

更新时间:2025-01-23 09:33:19

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

注意事项

本接口可以通过共享网关或专属网关调用。详细介绍,请参见阿里云SDK

  • 共享网关:通过公网、VPC域名访问KMS,该方式需要打开公网开关。具体操作,请参见通过公网访问KMS实例中的密钥
  • 专属网关:通过KMS私网地址(<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com)访问KMS。

QPS限制

  • 通过共享网关调用:本接口的单用户QPS限制为200次/秒。超过限制,API调用将会被限流,这可能影响您的业务,请合理调用。
  • 通过专属网关调用:本接口的单用户QPS限制以您KMS实例的计算性能规格为准。详细介绍,请参见性能数据

详细说明

仅支持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

本文将提供一个示例,使用密钥IDkey-hzz630494463ejqjx**** 、密钥版本ID2ab1a983-7072-4bbc-a582-584b5bd8****的非对称密钥,通过加密算法RSAES_OAEP_SHA_1对明文SGVsbG8gd29ybGQ=进行加密。

调试

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

调试

请求参数

名称

类型

是否必选

示例值

描述

名称

类型

是否必选

示例值

描述

Action String AsymmetricEncrypt

要执行的操作。取值:AsymmetricEncrypt

Plaintext String SGVsbG8gd29ybGQ=

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

KeyId String key-hzz630494463ejqjx****

密钥的ID,也可以指定为密钥别名或密钥资源名称(ARN)。关于别名的详细介绍,请参见管理密钥别名

说明
访问其他阿里云账号下的密钥时,必须输入密钥ARN。密钥ARN的格式为acs:kms:${region}:${account}:key/${keyid}
KeyVersionId String 2ab1a983-7072-4bbc-a582-584b5bd8****

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

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

加密算法。

DryRun String false

是否开启DryRun模式。

  • true:开启
  • false(默认值):关闭

DryRun模式用于测试API调用,验证您是否具有相应资源的权限,以及请求参数是否配置正确。DryRun模式开启后,KMS会始终返回失败并提示失败原因。失败原因包含如下:

  • DryRunOperationError:不配置DryRun参数时,请求会成功。
  • ValidationError:请求中指定的参数有误。
  • AccessDeniedError:您无权在KMS资源上执行该操作。

返回数据

名称

类型

示例值

描述

名称

类型

示例值

描述

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

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

KeyId String key-hzz630494463ejqjx****

密钥ID。如果请求中的KeyId参数使用的是密钥别名、密钥ARN,在响应中也会返回密钥ID。

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=key-hzz630494463ejqjx****
&KeyVersionId=2ab1a983-7072-4bbc-a582-584b5bd8****
&Algorithm=RSAES_OAEP_SHA_1
&DryRun=false
&公共请求参数

正常返回示例

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>

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"
}

错误码

HttpCode

错误码

错误信息

描述

HttpCode

错误码

错误信息

描述

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

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

  • 本页导读 (1)
  • 注意事项
  • QPS限制
  • 详细说明
  • 调试
  • 请求参数
  • 返回数据
  • 示例
  • 错误码
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等