重加密 - ReEncrypt
功能介绍
将密文使用源密钥解密后,再使用指定的新密钥加密。
能将CreateDatekey,CreateDatakeyWithoutPlainText,EncryptDatakey加密的数据密钥密文重新加密成新的数据密钥密文。
能将EncryptData加密的密文重新加密成新的密文。
注意:
数据密钥只会被重加密成数据密钥
调用方法
请参见如何调用API。
授权信息
账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限。
- 如果使用角色与策略授权,具体权限要求请参见权限和授权项。
- 如果使用身份策略授权,当前API调用无需身份策略权限。
URI
POST /v1.0/{project_id}/kms/re-encrypt
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| project_id | 是 | String | 项目ID | 
请求参数
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| X-Auth-Token | 是 | String | 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 | 
| 参数 | 是否必选 | 参数类型 | 描述 | 
|---|---|---|---|
| source_key_id | 否 | String | 原密钥ID,用于解密密文。对于非对称密钥加密的密文source_key_id必填。对于对称密钥加密的密文,推荐填写source_key_id。kms会优先使用您填写的source_key_id进行解密。不填时会尝试从密文中解析出加密时使用的密钥ID进行解密。 | 
| source_additional_authenticated_data | 否 | String | 加密原密文时使用的aad信息。如果加密时,没指定aad,则不能填写,否则会造成解密失败 | 
| source_encryption_algorithm | 否 | String | 加密原密文时使用的加密算法。默认值为“SYMMETRIC_DEFAULT”,合法枚举值如下: SYMMETRIC_DEFAULT RSAES_OAEP_SHA_1 RSAES_OAEP_SHA_256 SM2_ENCRYPT 注意:RSAES_OAEP_SHA_1已不再安全,请谨慎使用 | 
| destination_key_id | 是 | String | 目的密钥ID,用于加密解密后的明文 | 
| destination_additional_authenticated_data | 否 | String | 如果指定了值,会在重加密时,作为aad参与计算 | 
| destination_encryption_algorithm | 否 | String | 重加密新密文时使用的加密算法。默认值为“SYMMETRIC_DEFAULT”,合法枚举值如下: SYMMETRIC_DEFAULT RSAES_OAEP_SHA_1 RSAES_OAEP_SHA_256 SM2_ENCRYPT 注意:RSAES_OAEP_SHA_1已不再安全,请谨慎使用 | 
| datakey_cipher_length | 否 | String | 当密文是CBC 模式加密的 数据密钥时,需要指定datakey_cipher_length。表示明文密钥材料的字节数 | 
| cipher_text | 是 | String | 需要进行重加密的密文。 | 
响应参数
状态码:200
| 参数 | 参数类型 | 描述 | 
|---|---|---|
| key_id | String | 重新加密时使用的密钥ID | 
| source_key_id | String | 加密原密文时使用的密钥ID | 
| source_encryption_algorithm | String | 原密文加密时使用的加密算法 | 
| destination_encryption_algorithm | String | 重新加密时使用的加密算法 | 
| cipher_text | String | 重新加密后的密文 | 
请求示例
https://kms.cn-north-4.myhuaweicloud.com/v1.0/d4e559b49b3b403da5279723299ed4a6/kms/re-encrypt
{
  "source_key_id" : "054faae3-ffc2-4b23-8d94-c05bfc8f596a",
  "source_additional_authenticated_data" : "",
  "source_encryption_algorithm" : "SYMMETRIC_DEFAULT",
  "destination_key_id" : "8ad47b5b-037e-4ff9-bf04-6900e3213c17",
  "destination_additional_authenticated_data" : "123",
  "destination_encryption_algorithm" : "SYMMETRIC_DEFAULT",
  "datakey_cipher_length" : "32",
  "cipher_text" : "020078000871efb21bfdc0712becf0dabfcc115a25eae06efb652aa9afa9689a4c4ec46b4bbeb3a902369b1a53eab67e9b8e730ced3879d1fb62c27cc314f2a44943687741a5d250403c861e4410936d422ef2d330353466616165332d666663322d346232332d386439342d63303562666338663539366100000000ed7fb70234ac273dedc19752900c6f7e4577fc2c1f1482539d0142ab0ff9fdda"
}
  响应示例
无
状态码
| 状态码 | 描述 | 
|---|---|
| 200 | 请求已成功 | 
错误码
请参见错误码。
 
  