这是此问题的扩展:OpenPGP Encryption Using BouncyCastle Lightweight API
我的问题如下:
我必须从纯文本生成PGP加密消息。由于所讨论的密钥大小,我唯一的选择是安装Unlimited Strength策略文件或使用轻量级API。鉴于我需要可移植的解决方案,我决定使用轻量级API。
我发现使用轻量级API的所有解决方案都使用PGPEncryptedDataGenerator并打开一个流来加密它(另一个链接中的代码示例)但是它的AES加密使用CFB模式,而我需要在CBC模式下执行
我目前的方法:
我生成了一个随机的256位密钥和128位初始化向量,并用它来加密明文。然后我使用RSA使用公钥加密密钥。我首先编写加密密钥,然后在流中加密文本,使用私钥对其进行签名,从中创建PGPLiteralDataPackets,然后对其进行压缩和装甲。 但是,当我尝试使用gpg解密它时,它识别出我用它签名的私钥,然后它给了我一组不可打印的ascii字符,这意味着它无法识别加密部分,即使公钥存在于它的钥匙圈。
这意味着我没有正确构建消息。我想知道如何使用充气城堡手动构建PGP消息,以便识别和解密由我创建的加密消息。