AEM 可以与其他系统共享加密 library/key 吗?

Can AEM share crypto library/key to other system?

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

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

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

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

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

CryptoSupport.hmac_256(shared_hash_key, shared_secret)

这样您就可以想出一个共享密钥与其他系统一起使用,而无需公开 AEMs 密钥。

要在其他系统上解密,请使用相同的散列密钥和秘密。 CryptoSupport.encrypt 输出中“:”之后的部分是 IV.