2

我遇到的问题是Crypt::OpenPGP无法解密由 GPG 编码的消息。看来我不是第一个遇到这个问题的人。但是在那个线程上没有找到解决方案。

my $pgp = load_class('Crypt::OpenPGP')->new;
$pgp->handle(
     Data => $encrypted,
) or confess $pgp->errstr;

Crypt::OpenPGP 正确提示输入密钥密码,成功找到密钥,并且我已经测试以确保密码可与 GPG 一起使用。但是当尝试使用 Crypt::OpenPGP 解密消息时,我得到了错误。

Symkey decrypt failed: Invalid secret key ID

根据线程以下已测试

  1. 用 gpg 加密,用 gpg 解密。
    • 工作正常,符合预期
  2. 使用 Crypt::OpenPGP 使用 perl 加密并使用 gpg 解密。
    • 工作正常。
  3. 使用 Crypt::OpenPGP 使用 perl 加密,使用 Crypt::OpenPGP 使用 perl 解密
    • 工作正常。
  4. 使用 gpg 加密并使用 Crypt::OpenPGP 使用 perl 解密
    • 失败并显示“Symkey 解密失败:密钥 ID 无效”消息。这是上面描述的情况

这似乎反映了我自己的观察,尽管我没有测试过其中的一些。有谁知道原因甚至更好的解决方法?

4

0 回答 0