ExportDataKey - 使用传入的公钥加密导出数据密钥

使用传入的公钥加密导出数据密钥。

接口说明

注意事项

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

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

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

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

详细说明

调用 GenerateDataKeyWithoutPlaintext 获取主密钥(CMK)加密保护的数据密钥。当您需要将数据密钥分发到其它地域(Region)或者密码模块时,您可以调用 ExportDataKey 接口,返回指定公钥加密数据密钥的密文。

将公钥加密数据密钥的密文,导入到公钥对应私钥所在的密码模块,可实现 KMS 到密码模块的密钥分发,保障了数据密钥分发过程的安全性。该密钥导入到密码模块后,可用于实现相应数据的加解密运算。

调试

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

调试

授权信息

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

请求参数

名称

类型

必填

描述

示例值

CiphertextBlob

string

主密钥(CMK)加密的数据密钥的密文。

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q********

EncryptionContext

object

key/value 的 JSON 字符串。EncryptionContext 是使用 CMK 加密数据密钥时传入的加密上下文,详情请参见 EncryptionContext 说明

{"Example":"Example"}

PublicKeyBlob

string

Base64 格式的公钥。

MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAndKfC2ReLL2+y8a0+ZBBeAft/uBYo86GZiYJuflqgUzKxpyuvlo3uQkBv6b+nx+0tz8g8v7GhpPWMSW5L9mNHYsvYFsa7jTxsYdt17yj6GlUHPuMIs8hr5qbwl38IHU1iIa7nYWwE2fb3ePOvLDACRJVgGpU0yxioW80d2QD+9aU4jF5dlAahcfgsNzo2CXzCUc1+xbmNuq7Rp+H9VJB9dyYOwqnW3RhOLBo21FzpORapf0UiRlrHRpk1V6ez+aE1dofaYh/9bh0m6ioxj7j5hpZbWccuEZTMBKd+cbuBkRhJzc6Tti6qwZbDiu4fUwbZS0Tqpuo1UadiyxMW********

WrappingKeySpec

string

PublicKeyBlob 的密钥类型。密钥类型详情,请参见非对称密钥简介
取值:

  • RSA_2048

  • EC_SM2

RSA_2048

WrappingAlgorithm

string

使用 PublicKeyBlob 所指定的公钥,加密(Wrap)数据密钥时的加密算法。算法详情,请参见 AsymmetricDecrypt
取值:

  • RSAES_OAEP_SHA_256

  • RSAES_OAEP_SHA_1

  • SM2PKE

RSAES_OAEP_SHA_256

DryRun

string

是否开启 DryRun 模式。

  • true:开启

  • false(默认值):关闭

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

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

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

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

false

返回参数

名称

类型

描述

示例值

object

KeyVersionId

string

用于解密传入的数据密钥密文的密钥版本标识符。

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

KeyId

string

解密传入的数据密钥密文使用的主密钥 ID。
主密钥的全局唯一标识符。

202b9877-5a25-46e3-a763-e20791b5****

RequestId

string

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

4bd560a1-729e-45f1-a3d9-b2a33d61046b

ExportedDataKey

string

公钥加密保护导出的数据密钥。

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

示例

正常返回示例

JSON格式

{
  "KeyVersionId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyId": "202b9877-5a25-46e3-a763-e20791b5****",
  "RequestId": "4bd560a1-729e-45f1-a3d9-b2a33d61046b",
  "ExportedDataKey": "BQKP+1zK6+ZEMxTP5qaVzcsgXtWplYBKm0NXdSnB5FzliFxE1bSiu4dnEIlca2JpeH7yz1/S6fed630H+hIH6DoM25fTLNcKj+mFB0Xnh9m2+HN59Mn4qyTfcUeadnfCXSWcGBouhXFwcdd2rJ3n337bzTf4jm659gZu3L0i6PLuxM9p7mqdwO0cKJPfGVfhnfMz+f4alMg79WB/NNyE2lyX7/qxvV49ObNrrJbKSFiz8Djocaf0IESNLMbfYI5bXjWkJlX92DQbKhibtQW8ZOJ//ZC6t0AWcUoKL6QDm/dg5koQalcleRinpB+QadFm894sLbVZ9+N4GVs*******"
}

错误码

HTTP status code

错误码

错误信息

描述

400 InvalidParameter The specified parameter is not valid. 参数非法。
500 InternalFailure Internal Failure. 内部错误。建议重试,如果多次重试报错请提交工单。
404 InvalidAccessKeyId.NotFound The Access Key ID provided does not exist in our records.

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

变更历史

更多信息,参考变更详情