使用 Apache Camel 进行 PGP 加密/解密:在密钥环中找不到密钥

PGP Encrypting / Decrypting with Apache Camel: Key not found in keyring

我正在尝试使用 Apache Camel (XML DSL) 实现 PGP encryption/decryption。

我使用 Kleoptra 创建了一个 OpenPGP 密钥集(并经过测试以验证密钥是否适用于加密和解密)

现在,在我的骆驼上下文中,我有以下内容:

<dataFormats>
    <pgp id="encrypt" keyFileName="party2public.pgp" keyUserid="party2"/>
    <pgp id="decrypt" keyFileName="party2private.pgp"/>
</dataFormats>

<route id="encrypter">
    <from uri="file:ToEncrypt"/>
    <marshal ref="encrypt"/>
    <to uri="file:Encrypted"/>
</route>

<route id="decrypter">
    <from uri="file:ToDecrypt"/>
    <unmarshal ref="decrypt"/>
    <to uri="file:Decrypted"/>
</route>

加密文件时,它按预期工作,文件最终在加密文件夹中加密。但是在尝试解密时,出现以下错误:

org.bouncycastle.openpgp.PGPException: PGP message is encrypted with a key which could not be found in the Secret Keyring.

知道为什么会这样吗?

我认为您只需要在 pgp 解密 bean 上添加 password=""。

我正在修复上游的问题:https://issues.apache.org/jira/browse/CAMEL-12897