閱讀373 返回首頁    go 英雄聯盟


EncryptionContext說明__API 參考_密鑰管理服務-阿裏雲

Encryption Context作用

Encryption Context是在KMS的Encrypt、GenerateDataKey、Decrypt這些API中可能會用到的JSON字符串,並且隻能是String-String形式的JSON,用於保護數據的完整性。

當在加密(Encrypt、GenerateDataKey)時指定了該參數時,解密(Decrypt)密文時,需要傳入等價的參數,才能正確的解密。Encryption Context雖然與解密相關,但是並不會存在密文(CipherBlob)中。

Encryption Context有效值

Encryption Context的有效值是一個總長度在8192個字符數以內的json字符串,並且隻能是String-String形式的。當您直接調用API填Encryption Context的時候,請注意轉義的問題。

有效的Encryption Context示例

  1. 1. {"ValidKey":"ValidValue"}
  2. 2. {"Key1":"Value1","Key2":"Value2"}

無效的Encryption Context (部分)示例

  1. 1. [{"Key":"Value"}] //json數組
  2. 2. {"Key":12345} //String-int
  3. 3. {"Key":["value1","value2"]} //String-數組

等價的Encryption Context

Encryption Context的本質是一個String-String的map(hashtable), 因此在作為參數時,隻需要保證json字符串所表示的key-value含義是一致的,則Encryption Context是等價的。與加密時輸入的Encryption Context等價的Encryption Context就可以用於正確的解密,而不用保持完全一致的字符串。

等價的Encryption Context示例

  1. {"Key1":"Value1","Key2":"Value2"} 與 {"Key2":"Value2","Key1":"Value1"} 等價

最後更新:2016-11-24 11:23:49

  上一篇:go 使用RAM實現KMS資源授權__API 參考_密鑰管理服務-阿裏雲
  下一篇:go KMS地域分布__API 參考_密鑰管理服務-阿裏雲