我已经阅读了目前在CQ5.5 +中的Adobe CryptoSupport,它旨在提供一种加密和解密数据的实用程序,例如,更安全地将API密钥存储在JCR中。
JavaDocs或一般Adobe文档没有提供有关其实现的详细信息,只是声明:
请注意,此方法和
decrypt(byte[])
方法提供了完整功能 往返支持:decrypt(encrypt(plainText)).equals(plainText) == true
请注意, 在同一
plainText
上调用此方法两次不会返回 相同的密文:encrypt(plainText).equals(encrypt(plainText)) == false
这是非常有用的,但它没有告诉我这些密码是如何开始加密的。我试过在一个CQ实例上加密&解密另一个,但这似乎不起作用。
为了充满信心地使用此功能,我想知道CQ加密的基础。 我有两个主要问题:
答案 0 :(得分:5)
Felix控制台中的捆绑说明指出
Crypto Support捆绑包提供CryptoSupport服务 允许应用程序加密和解密二进制和字符串数据。 加密基于对称AES / CBC / PKCS5Padding(AES 来自RSA JSafe库的算法,带有PKCS5填充的CBC模式。
密钥是在 Adobe Granite加密支持捆绑包首次启动时随机生成的,然后保存为/etc/key/master
属性。 它是按设计进行的,我不认为在CQ安装之间移动此密钥是个好主意。实际上,Adobe says it's a good idea在作者和发布实例之间移动密钥。 / p>
回答你的问题: