對密文進行轉加密。即先將密文解密,然後將解密得到的資料或者資料密鑰使用新的主要金鑰再次進行加密,返回加密結果。
介面說明
注意事項
-
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程式碼範例。
調試
授權資訊
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| 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 。
說明
當 CiphertextBlob 是非對稱式加密返回的公開金鑰加密資料時需要指定該參數。 |
RSAES_OAEP_SHA_256 |
| SourceEncryptionContext |
object |
否 |
key/value 的 JSON 字串。如果在 Encrypt 、 GenerateDataKey 、 GenerateDataKeyWithoutPlaintext 或 GenerateAndExportDataKey API 中指定了該參數,則需要提供同樣的參數才能解密,詳情請參見 EncryptionContext 說明。 說明
當 CiphertextBlob 是對稱式加密返回的密文資料時需要指定該參數。 |
{"Example":"Example"} |
| DestinationKeyId |
string |
是 |
對密文解密後再次加密時使用的對稱主要金鑰 ID。 |
1234abcd-12ab-34cd-56ef-12345678**** |
| DestinationEncryptionContext |
object |
否 |
key/value 的 JSON 字串,用於目標主要金鑰加密時的加密上下文。 |
{"Example":"Example"} |
| DryRun |
string |
否 |
是否開啟 DryRun 模式。
DryRun 模式用於測試 API 呼叫,驗證您是否具有相應資源的許可權,以及請求參數是否配置正確。DryRun 模式開啟後,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. | 指定的密鑰不存在。 |
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。