代码之家  ›  专栏  ›  技术社区  ›  Fede E.

pgp用apache camel加密/解密:在keyring中找不到密钥

  •  0
  • Fede E.  · 技术社区  · 6 年前

    我正在尝试使用ApacheCamel(XML DSL)实现PGP加密/解密。

    我用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消息用密钥加密,但在密钥环中找不到该密钥。

    知道为什么会这样吗?

    1 回复  |  直到 6 年前
        1
  •  1
  •   Oscerd    6 年前

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

    我要在上游修复它: https://issues.apache.org/jira/browse/CAMEL-12897