AsymmetricDecrypt - 使用非对称密钥进行解密

更新时间:
复制 MD 格式

使用非对称密钥进行解密。

接口说明

注意事项

  • RAM 用户或 RAM 角色调用该 OpenAPI 需要被授予的权限策略详情,请参见访问控制。

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

    • 共享网关:通过公网、VPC 域名访问 KMS,该方式需要打开公网开关。具体操作,请参见通过公网访问 KMS 实例中的密钥。

    • 专属网关:通过 KMS 私网地址(<YOUR_KMS_INSTANCE_ID>.cryptoservice.kms.aliyuncs.com)访问 KMS。

QPS 限制

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

  • 通过专属网关调用:本接口的单用户 QPS 限制以您 KMS 实例的计算性能规格为准。详细介绍,请参见性能数据。

详细说明

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

KeySpecAlgorithm说明密文长度(字节)
RSA_2048RSAES_OAEP_SHA_256RSAES-OAEP using SHA-256 and MGF1 with SHA-256256
RSA_2048RSAES_OAEP_SHA_1RSAES-OAEP using SHA1 and MGF1 with SHA1256
RSA_3072RSAES_OAEP_SHA_256RSAES-OAEP using SHA-256 and MGF1 with SHA-256384
RSA_3072RSAES_OAEP_SHA_1RSAES-OAEP using SHA1 and MGF1 with SHA1384
EC_SM2SM2PKESM2 椭圆曲线公钥加密算法最大 6144

本文将提供一个示例,使用密钥 ID 为key-hzz630494463ejqjx**** 、密钥版本 ID 为2ab1a983-7072-4bbc-a582-584b5bd8****的非对称密钥,通过解密算法RSAES_OAEP_SHA_1对密文BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1W****==进行解密。

调试

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

调试

授权信息

当前API暂无授权信息透出。

请求参数

名称

类型

必填

描述

示例值

CiphertextBlob

string

是

解密密文,使用 Base64 编码。

说明

您可以调用 AsymmetricEncrypt 接口生成密文。

BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVsv1W****==

KeyId

string

是

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

说明

访问其他阿里云账号下的密钥时,必须输入密钥 ARN。密钥 ARN 的格式为acs:kms:${region}:${account}:key/${keyid}。

key-hzz630494463ejqjx****

KeyVersionId

string

是

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

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

Algorithm

string

是

解密算法。

RSAES_OAEP_SHA_1

DryRun

string

否

是否开启 DryRun 模式。

  • true:开启

  • false(默认值):关闭

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

  • DryRunOperationError:不配置 DryRun 参数时,请求会成功。

  • ValidationError:请求中指定的参数有误。

  • AccessDeniedError:您无权在 KMS 资源上执行该操作。

false

Recipient

string

否

远程证明

{ "AttestationDocument":"base64-encoded-attestion-document", "KeyEncryptionAlgorithm":"RSAES_OAEP_SHA_256" }

返回参数

名称

类型

描述

示例值

object

KeyVersionId

string

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

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

KeyId

string

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

key-hzz630494463ejqjx****

RequestId

string

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

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

Plaintext

string

解密后的明文,使用 Base64 编码。

SGVsbG8gd29ybGQ=

CiphertextForRecipient

string

被远程证明中公钥加密的资源密文

***Ciphertext***

示例

正常返回示例

JSON格式

{
  "KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId": "key-hzz630494463ejqjx****",
  "RequestId": "475f1620-b9d3-4d35-b5c6-3fbdd941423d",
  "Plaintext": "SGVsbG8gd29ybGQ=",
  "CiphertextForRecipient": "***Ciphertext***"
}

错误码

HTTP status code

错误码

错误信息

描述

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

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

变更历史

更多信息,参考变更详情。