为什么不同版本的GnuPG之间的GPG加密/解密失败?


1

我有2台服务器将在它们之间传递数据,一台是Ubuntu,另一台是Red Hat。使用已经安装的版本,使用gnuPG 1.4.x的Ubuntu是12.04,使用gnuPG 2.0.x的Red Hat是企业6.1,我无法解密从Ubuntu到Red Hat的解密。

我将使用PHP在Ubuntu服务器上使用gnuPG扩展名进行加密/解密。红帽服务器将通过CGI脚本之外的外壳访问gnuPG。

我在Red Hat上创建了公用/专用密钥,并导出了公用密钥。将其导入到Ubuntu并签名。然后,我在Ubuntu上加密了一个文件,将其复制到Red Hat服务器并尝试对其进行解密。

我得到这个回应

gpg -d tocyn.gpg
gpg: no valid OpenPGP data found.
gpg: decrypt_message failed: Unknown system error

不知道该去哪里,因为我无法找到有关此响应含义的大量信息。在2个不同的版本之间不可能这样做吗?我可能误会了,但我认为它们实际上是相同的。


您是否100%确定拥有Ubuntu 1.4.x,因为这似乎不正确。每个系统上安装了什么版本的gnuPG?
拉姆猎犬,2014年

这些是gnuPG版本,而不是OS版本。我将OS版本添加到问题中。
比尔

Answers:


0

GnuPG 2.0.x和1.4.x的两个最新版本都完全兼容。这应该不是问题,请验证数据是否正确传输(例如,使用校验和)。

无论如何:像Ubuntu这样的Debian衍生产品会同时安装GnuPG 1和2,其中包括gpgGnuPG 1.4.x和gpg2GnuPG2.0.x。

在GnuPG 2的手册页中:

gpg2 是GNU Privacy Guard(GnuPG / MacGPG2)的OpenPGP部分。它是使用OpenPGP标准提供数字加密和签名服务的工具。gpg2 具有完善的密钥管理功能,以及从体面的OpenPGP实施中可以期待的所有信息。

gpg更适合于服务器和嵌入式平台的独立版本相反,该版本通常以该名称安装,gpg2并且更针对桌面,因为它需要安装其他几个模块。独立版本将保持不变,并且可以将两个版本安装在同一系统上。如果需要使用其他配置文件,则应使用gpg.conf-2' instead of justgpg.conf'之类的东西。


谢谢您的回答,这就是我的想法。我确定文件有问题。校验和不匹配(我可能应该首先检查它)。一旦我重新发布了文件,它就起作用了。通过我的错误响应。
比尔

我收到“ gpg:找不到有效的OpenPGP数据”。也有apt-key add fileWithKeys,也安装了gnupg2但没有任何改变
Aquarius Power

这是一个无关的问题,请张贴为一个。并尽可能包含的输出gpg --list-packets < fileWIthKeys
延斯·埃拉特
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.