GnuPG 1 和 GnuPG 2 相互兼容吗?

GnuPG 1 和 GnuPG 2 相互兼容吗?

使用 Macports 时,我发现有 portsgnupg和较新的gnupg2。我想使用 GnuPG 来加密文件。我应该同时安装两者吗,还是只安装一个就够了?如果我同时安装了两者,两者是否相互兼容?我先安装哪一个有关系吗?

答案1

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.gpgsecring.gpg)合并到公钥环中。这是以保持兼容性的方式实现的,因此当 GnuPG 2.1 集成私钥环时,您仍然可以使用 GnuPG 1,但私钥的更改不会显示在相应的其他实现中。从变更日志

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


直接回答你的问题:

我应该同时安装两个还是只安装一个就够了?先安装哪一个有关系吗?

只需安装两者即可。它们不会相互干扰。gpg为访问它的其他应用程序(如包管理器、邮件客户端等)安装(如果尚未安装),并gpg2在命令行上“直接使用”。

如果我同时安装了两者,它们是否互相兼容?

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

GnuPG 2.1 使得私钥环的更改对于 GnuPG 2.1 之前的实现来说是不可见的(参见上文的 GnuPG 2.1 部分)。

相关内容