您在此处:
创建并汇编密钥材料
Shield 平台加密仅缓存密钥服务兼容通过 JSON 响应返回的 256 位密钥,然后使用 JSON Web 加密 (JWE) 封装。
仅缓存密钥材料使用 JSON 格式封装。在本文章中使用的仅缓存密钥示例,以说明密钥材料在您汇编时如何变化。
- 生成 256 位 AES 数据加密密钥。您可以使用自己选择的加密安全方法。
- 使用加密安全方法,生成 256 位 AES 内容加密密钥。
-
生成并下载兼容 BYOK 的证书。重要 Salesforce 正在遵守行业范围内缩短 CA 证书到期时间的规定。请阅读 Salesforce 证书中的信息,并相应地进行计划。
-
创建 JWE 保护的标头。JWE 保护的标头是包含 3 个声明的 JSON 对象:用于加密内容加密密钥的算法、用于加密数据加密密钥的算法,以及仅缓存密钥的唯一 ID。以下是开始使用的示例标题。
{"alg":"RSA-OAEP","enc":"A256GCM","kid":"982c375b-f46b-4423-8c2d-4d1a69152a0b"} -
将 JWE 保护的标头编码为 BASE64URL(UTF8(JWE Protected Header))。
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00iLCJraWQiOiI5ODJjMzc1Yi1mNDZiLTQ0MjMtOGMy ZC00ZDFhNjkxNTJhMGIifQ -
使用 RSAES-OAEP 算法,通过 BYOK 证书中的公开密钥,加密内容加密密钥。然后,将此加密的内容加密密钥编码为 BASE64URL(Encrypted CEK)。
l92QA-R7b6Gtjo0tG4GlylJti1-Pf-519YpStYOp28YToMxgUxPmx4NR_myvfT24oBCWkh6hy_dqAL7JlVO4 49EglAB_i9GRdyVbTKnJQ1OiVKwWUQaZ9jVNxFFUYTWWZ-sVK4pUw0B3lHwWBfpMsl4jf0exP5-5amiTZ5oP 0rkW99ugLWJ_7XlyTuMIA6VTLSpL0YqChH1wQjo12TQaWG_tiTwL1SgRd3YohuMVlmCdEmR2TfwTvryLPx4K bFK3Pv5ZSpSIyreFTh12DPpmhLEAVhCBZxR4-HMnZySSs4QorWagOaT8XPjPv46m8mUATZSD4hab8v3Mq4H3 3CmwngZCJXX-sDHuax2JUejxNC8HT5p6sa_I2gQFMlBC2Sd4yBKyjlDQKcSslCVav4buG8hkOJXY69iW_zhz tV3DoJJ90l-EvkMoHpw1llU9lFhJMUQRvvocfghs2kzy5QC8QQt4t4Wu3p7IvzeneL5I81QjQlDJmZhbLLor FHgcAs9_FMwnFYFrgsHP1_v3Iqy7zJJc60fCfDaxAF8Txj_LOeOMkCFl-9PwrULWyRTLMI7CdZIm7jb8v9AL xCmDgqUi1yvEeBJhgMLezAWtxvGGkejc0BdsbWaPFXlI3Uj7C-Mw8LcmpSLKZyEnhj2x-3Vfv5hIVauC6ja1 B6Z_UcqXKOc -
生成初始化向量,以用作数据加密密钥的 AWS 封装的输入。然后,使用 base64url 进行编码。
N2WVMbpAxipAtG9O -
使用内容加密密钥,封装数据加密密钥。
- 将 JWE 标头编码为 ASCII(BASE64URL(UTF8(JWE Protected Header)))。
- 使用 AES GCM 算法,改善数据加密密钥的已经身份验证的加密。将内容加密密钥用作加密密钥、初始化向量(字节,而非 base64 URL 编码版本),以及其他已经身份验证的数据值,并请求 128 位身份验证标记输出。
- 将生成的密文编码为 BASE64URL(Ciphertext)。
- 将身份验证标记编码为 BASE64URL(Authentication Tag)。
和63wRVVKX0ZOxu8cKqN1kqN-7EDa_mnmk32DinS_zFo4HC7Ev5lmsbTgwyGpeGH5Rw -
将 JWE 汇编为所有前值的紧凑序列化。使用句号隔开连接值。
eyJhbGciOiJSU0EtT0FFUCIsImVuYyI6IkEyNTZHQ00iLCJraWQiOiI5ODJjMzc1Yi1mNDZiLTQ0MjMtOGMy ZC00ZDFhNjkxNTJhMGIifQ.l92QA-R7b6Gtjo0tG4GlylJti1-Pf-519YpStYOp28YToMxgUxPmx4NR_myvf T24oBCWkh6hy_dqAL7JlVO449EglAB_i9GRdyVbTKnJQ1OiVKwWUQaZ9jVNxFFUYTWWZ-sVK4pUw0B3lHwWB fpMsl4jf0exP5-5amiTZ5oP0rkW99ugLWJ_7XlyTuMIA6VTLSpL0YqChH1wQjo12TQaWG_tiTwL1SgRd3Yoh uMVlmCdEmR2TfwTvryLPx4KbFK3Pv5ZSpSIyreFTh12DPpmhLEAVhCBZxR4-HMnZySSs4QorWagOaT8XPjPv 46m8mUATZSD4hab8v3Mq4H33CmwngZCJXX-sDHuax2JUejxNC8HT5p6sa_I2gQFMlBC2Sd4yBKyjlDQKcSsl CVav4buG8hkOJXY69iW_zhztV3DoJJ90l-EvkMoHpw1llU9lFhJMUQRvvocfghs2kzy5QC8QQt4t4Wu3p7Iv zeneL5I81QjQlDJmZhbLLorFHgcAs9_FMwnFYFrgsHP1_v3Iqy7zJJc60fCfDaxAF8Txj_LOeOMkCFl-9Pwr ULWyRTLMI7CdZIm7jb8v9ALxCmDgqUi1yvEeBJhgMLezAWtxvGGkejc0BdsbWaPFXlI3Uj7C-Mw8LcmpSLKZ yEnhj2x-3Vfv5hIVauC6ja1B6Z_UcqXKOc.N2WVMbpAxipAtG9O.63wRVVKX0ZOxu8cKqN1kqN-7EDa_mnmk 32DinS_zFo4.HC7Ev5lmsbTgwyGpeGH5Rw
有关此流程的更多详细信息示例,请查看 Github 中的示例仅缓存密钥封装程序。您可在存储库或选择的其他服务中使用实用程序。
