AEM 可以与其他系统共享加密库/密钥吗?

时间:2021-02-23 07:18:24

标签: encryption aes aem

基本上在 AEM 中,我想使用 AEM CryptoSupport 加密一些文本并将加密的密钥传递给其他系统(比如 ABC 系统),然后 ABC 系统解密密钥以执行某些操作。

AEM 可以将 Adob​​e Granite Crypto Support 0.0.8 jar 共享到 ABC 系统进行加密/解密,但我想知道 AEM 如何将 HMAC 和 Master 文件共享到其他系统进行解密?这可能吗 ?请指教。

1 个答案:

答案 0 :(得分:3)

您不应该与他们分享罐子。 AEM CryptoSupport 使用 AES/CBC/PKCS5Padding 进行加密。只要两个系统都使用已知的密钥和方案,您就应该能够加密/解密而不必使用相同的 jar。 AEM Cryptosupport 可以与 AEM 生成的密钥以外的密钥一起使用。

CryptoSupport#encrypt(byte[] key, byte[] plainText)

生成加密密钥字节的方法是使用

CryptoSupport.hmac_256(shared_hash_key, shared_secret)

这允许您想出一个共享密钥以与其他系统一起使用,而无需公开 AEM 密钥。

要在另一个系统上解密,请使用相同的哈希密钥和秘密。 CryptoSupport.encrypt 输出中':'之后的部分是IV。