全部產品
Search
文件中心

:ReEncrypt - 對密文進行轉加密

更新時間:Jul 29, 2025

對密文進行轉加密。即先將密文解密,然後將解密得到的資料或者資料密鑰使用新的主要金鑰再次進行加密,返回加密結果。

介面說明

注意事項

  • RAM 使用者或 RAM 角色調用該 OpenAPI 需要被授與權限策略詳情,請參見存取控制

  • 本介面僅支援通過共用網關調用,不支援通過專屬網關調用。詳細介紹,請參見阿里雲 SDK

    通過共用網關調用即通過公網、VPC 網域名稱訪問 KMS,該方式需要開啟公網開關。具體操作,請參見通過公網訪問 KMS 執行個體中的密鑰

QPS 限制

僅支援通過共用網關調用,本介面的單使用者 QPS 限制為 750 次/秒。超過限制,API 呼叫將會被限流,這可能影響您的業務,請合理調用。

詳細說明

ReEncrypt 使用情境如下:

  • 主要金鑰(CMK)進行輪轉後,使用輪轉後最新的密鑰版本對資料進行重新加密。自動輪轉密鑰詳情,請參見自動輪轉密鑰

  • 主要金鑰不變,改變加密內容相關的內容,進行重新加密。

  • 將主要金鑰加密的資料或者資料密鑰在 KMS 內部使用其它的主要金鑰進行重新加密。

ReEncrypt 使用權限設定如下:

  • 需要有操作源主要金鑰的 kms:ReEncryptFrom 許可權。

  • 需要有操作目的主要金鑰的 kms:ReEncryptTo 許可權。

  • 可以設定 kms:ReEncrypt*用於表示上述兩個操作的許可權。

調試

您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。

調試

授權資訊

當前API暫無授權資訊透出。

請求參數

名稱

類型

必填

描述

樣本值

CiphertextBlob

string

待轉加密的密文。
該參數可以為對稱式加密或非對稱式加密返回的密文資料。

ODZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmS7FmDBBQ0BkKsQrtRnidtPwirmDcS0ZuJCU41xxAAWk4Z8qsADfbV0b+i6kQmlvj79dJdGOvtX69Uycs901q********

SourceKeyId

string

解密密文時使用的主要金鑰 ID。
主要金鑰的通用唯一識別碼。

說明

當 CiphertextBlob 是非對稱式加密返回的公開金鑰加密資料時需要指定該參數。

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

SourceKeyVersionId

string

用於解密密文的密鑰版本標識符。

說明

當 CiphertextBlob 是非對稱式加密返回的公開金鑰加密資料時需要指定該參數。

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

SourceEncryptionAlgorithm

string

CiphertextBlob 是公開金鑰加密結果時,指定公開金鑰加密的演算法。演算法詳情,請參見 AsymmetricDecrypt
取值:

  • RSAES_OAEP_SHA_256

  • RSAES_OAEP_SHA_1

  • SM2PKE

說明

當 CiphertextBlob 是非對稱式加密返回的公開金鑰加密資料時需要指定該參數。

RSAES_OAEP_SHA_256

SourceEncryptionContext

object

key/value 的 JSON 字串。如果在 EncryptGenerateDataKeyGenerateDataKeyWithoutPlaintextGenerateAndExportDataKey API 中指定了該參數,則需要提供同樣的參數才能解密,詳情請參見 EncryptionContext 說明

說明

當 CiphertextBlob 是對稱式加密返回的密文資料時需要指定該參數。

{"Example":"Example"}

DestinationKeyId

string

對密文解密後再次加密時使用的對稱主要金鑰 ID。

1234abcd-12ab-34cd-56ef-12345678****

DestinationEncryptionContext

object

key/value 的 JSON 字串,用於目標主要金鑰加密時的加密上下文。

{"Example":"Example"}

DryRun

string

是否開啟 DryRun 模式。

  • true:開啟

  • false(預設值):關閉

DryRun 模式用於測試 API 呼叫,驗證您是否具有相應資源的許可權,以及請求參數是否配置正確。DryRun 模式開啟後,KMS 會始終返回失敗並提示失敗原因。失敗原因包含如下:

  • DryRunOperationError:不配置 DryRun 參數時,請求會成功。

  • ValidationError:請求中指定的參數有誤。

  • AccessDeniedError:您無權在 KMS 資源上執行該操作。

false

返回參數

名稱

類型

描述

樣本值

object

KeyId

string

解密密文使用的主要金鑰 ID。
主要金鑰的通用唯一識別碼。

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

KeyVersionId

string

主要金鑰下用於解密密文的密鑰版本標識符。

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

CiphertextBlob

string

使用指定的主要金鑰進行再次加密得到的密文。

DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****

RequestId

string

本次調用請求的 ID,是由阿里雲為該請求產生的唯一識別碼,可用於排查和定位問題。

207596a2-36d3-4840-b1bd-f87044699bd7

樣本

正常返回樣本

JSON格式

{
  "KeyId": "2ab1a983-7072-4bbc-a582-584b5bd8****",
  "KeyVersionId": "202b9877-5a25-46e3-a763-e20791b5****",
  "CiphertextBlob": "DZhOWVmZDktM2QxNi00ODk0LWJkNGYtMWZjNDNmM2YyYWJmaaSl+TztSIMe43nbTH/Z1Wr4XfLftKhAciUmDQXuMRl4WTvKhxjMThjK****",
  "RequestId": "207596a2-36d3-4840-b1bd-f87044699bd7"
}

錯誤碼

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.
404 Forbidden.KeyNotFound The specified Key is not found. 指定的密鑰不存在。

訪問錯誤中心查看更多錯誤碼。

變更歷史

更多資訊,參考變更詳情