Adobe CryptoSupport用于散列的内容是什么?

ano*_*ave 2 java encryption adobe aem

我已经读到了现在在CQ5.5 +中的Adobe CryptoSupport,它旨在提供一个加密和解密数据的实用程序,例如,更安全地在JCR中存储API密钥.

JavaDoc中或一般的Adobe文档提供有关其执行任何细节,只是指出:

请注意,此方法和decrypt(byte[])方法提供完整的往返支持:

decrypt(encrypt(plainText)).equals(plainText) == true   
Run Code Online (Sandbox Code Playgroud)

请注意,在同一方法上调用此方法两次plainText不会返回相同的密文:

encrypt(plainText).equals(encrypt(plainText)) == false
Run Code Online (Sandbox Code Playgroud)

这是非常有用的,但它没有告诉我这些密码是如何开始加密的.我尝试在一个CQ实例上加密并在另一个CQ实例上解密,但这似乎不起作用.

为了充满信心地使用这个功能,我想知道CQ加密的基础.我有两个主要问题:

  • 我怎么知道服务是基于安全的东西腌制(认为这是正确的术语)?或者如果需要配置,我该怎么做?(即它是否使用等效的安全OOTB级别作为'admin/admin'的登录!)
  • 如果加密是特定于环境的,这是否意味着我无法加密数据然后在服务器之间传输?

Tom*_*wek 5

Felix控制台中的捆绑包描述说明了这一点

Crypto Support软件包提供CryptoSupport服务,允许应用程序加密和解密二进制和字符串数据.加密基于RSA JSafe库中的对称AES/CBC/PKCS5Padding(AES算法,带有PKCS5填充的CBC模式).

密钥是在Adobe Granite Crypto Support软件包首次启动时随机生成的,然后保存为/etc/key/master属性.它是按设计进行的,我不认为在CQ安装之间移动此密钥是个好主意.实际上,Adobe 表示在作者和发布实例之间移动密钥是个好主意.

回答你的问题:

  • 您无需担心配置服务,因为它是在第一次激活捆绑包时自动完成的,
  • 只要您还移动密钥,您就可以将加密数据从一个实例移动到另一个实例.