GnuPG 1和GnuPG 2是否相互兼容?


83

有了Macports,我意识到这里有端口gnupg和更新的端口gnupg2。我想使用GnuPG加密文件。我应该同时安装两个,还是仅安装一个就足够了?如果我同时安装了两者,是否彼此兼容?我首先安装哪个重要有关系吗?

Answers:


89

GnuPG 1

GnuPG 1.4(“经典”)将保留给嵌入式和服务器使用,因为它带来的依赖关系更少,二进制文件更小。以前,它通常被安装为gpg,今天它被更频繁地命名gpg1(取决于发行版)。

从GnuPG 1.4手册页:

这是的独立版本gpg。对于台式机使用,您应该考虑使用gpg2GnuPG-2软件包(在某些平台gpg2上,其名称为gpg

GnuPG 2

GnuPG 2.0是GnuPG的重新设计版本-但更改大部分在内部级别上进行。较新的版本分为多个模块,例如,还有X.509的模块(由S / MIME使用)。

来自man gpg2

与更适合于服务器和嵌入式平台的独立版本gpg相比,此版本通常以该名称安装,gpg2并且更面向桌面,因为它需要安装其他几个模块。

GnuPG 2.1

GnuPG 2.1带来了一个重要的变化,它将以前分离的公共和私人密钥环(pubring.gpgvs. secring.gpg)组合到了公共密钥环中。这是通过保持事物兼容的方式实现的,因此当GnuPG 2.1集成了私有密钥环时,您仍然可以使用GnuPG 1,但是对私有密钥的更改将不会在其他实现中显示。从变更日志

允许较早的GnuPG版本与GnuPG 2.1共存。但是,在使用2.1之前的GnuPG版本时,使用新gpg对私钥所做的任何更改都不会显示,反之亦然。


要直接回答您的问题:

我应该同时安装两个,还是仅安装一个就足够了?我首先安装哪个重要有关系吗?

只需安装两个。他们无论如何都不干涉。gpg为访问它的其他应用程序(如程序包管理器,邮件客户端等)安装(如果尚未安装),并gpg2在命令行上“直接使用”。

如果我同时安装了两者,是否彼此兼容?

两者都实现了OpenPGP协议,因此它们之间共享的数据彼此兼容。另外,它们(大多数情况下)使用相同的命令和选项,因此大多数时候您可以在它们之间任意切换。

GnuPG 2.1使对GnuPG 2.1之前的实现看不到私有密钥环的更改(请参见上面的GnuPG 2.1部分)。


1
gpg2似乎看不到所看到的私钥gpg。例如,不gpg2 --list-secret-keys给出输出,但是gpg --list-secret-keys给出输出。
Flimm

6
这正是我描述的GnuPG 2和2.1之间的重要区别:GnuPG 2.1将私钥存储在另一个文件中。您的私钥存储在GnuPG 1.4中secring.gpg,GnuPG 2.1不会查询。将它们复制到GnuPG 2.1 gpg --export-secret-keys [key-id] | gpg2 --import
詹斯·埃拉特

gpg2实际上自动为我导入了gpg密钥(cygwin)
lucidbrot


4
这个答案可能有点过时了。在Ubuntu 18.04 bionic上,该gpgv1软件包被描述为“弃用的”经典”版本,gpgv2并被描述为“虚拟过渡软件包”。安装普通gpg软件包会提供gpg版本2.2.4。因此看来gpgv1即将消失,而gpgv2(简称为“ gpg”)是新的标准。
Mark Doliner
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.