Perl Crypt::OpenPGP Symkey解密失败:密钥ID无效

Perl Crypt::OpenPGP Symkey解密失败:密钥ID无效,perl,pgp,Perl,Pgp,我遇到一个问题,无法解密由GPG编码的消息。看来我有这个问题了。但在这个问题上没有找到解决办法 my $pgp = load_class('Crypt::OpenPGP')->new; $pgp->handle( Data => $encrypted, ) or confess $pgp->errstr; OpenPGP正确提示输入密钥密码短语,成功找到密钥,并对I'v进行测试以确保密码短语与GPG一起工作。但是当试图用Crypt::OpenPGP解密消息时,

我遇到一个问题,无法解密由GPG编码的消息。看来我有这个问题了。但在这个问题上没有找到解决办法

my $pgp = load_class('Crypt::OpenPGP')->new;
$pgp->handle(
     Data => $encrypted,
) or confess $pgp->errstr;
OpenPGP正确提示输入密钥密码短语,成功找到密钥,并对I'v进行测试以确保密码短语与GPG一起工作。但是当试图用Crypt::OpenPGP解密消息时,我得到了一个错误

Symkey解密失败:无效的密钥ID

根据螺纹,已对以下各项进行了测试

用gpg加密,用gpg解密。 工作正常,如预期 使用Crypt::OpenPGP使用perl加密,并使用gpg解密。 很好。 使用Crypt::OpenPGP使用perl加密,使用Crypt::OpenPGP使用perl解密 很好。 使用gpg加密,使用Crypt::OpenPGP使用perl解密 Symkey解密失败:密钥ID消息无效。这就是上述情况
这似乎反映了我自己的观察,虽然我没有测试其中的一些。是否有人知道原因或更好的解决方法?

是1使用与2相同的键?。我敢打赌,你的openpgp的密钥存储与gpg不同。当它提示它请求我的gpg存储中的密钥时,我没有任何其他存储。显然,openpgp搜索的是常见的嫌疑犯。您可以使用使用Crypt::openpgp的perl脚本加密$pgp->加密文本,然后尝试解密它吗?如果这样做有效,则意味着Crypt::OpenPGP只能处理由Crypt::OpenPGP完成的加密。在大多数情况下,由其他应用程序(如或程序)执行的PGP加密可能会失败。是的,情况似乎是1使用与2?相同的密钥?。我敢打赌,你的openpgp的密钥存储与gpg不同。当它提示它请求我的gpg存储中的密钥时,我没有任何其他存储。显然,openpgp搜索的是常见的嫌疑犯。您可以使用使用Crypt::openpgp的perl脚本加密$pgp->加密文本,然后尝试解密它吗?如果这样做有效,则意味着Crypt::OpenPGP只能处理由Crypt::OpenPGP完成的加密。在大多数情况下,由其他应用程序(如或程序)执行的PGP加密可能会失败。是的,似乎就是这样