Совместимы ли GnuPG 1 и GnuPG 2 друг с другом?

83

С Macports я понимаю, что есть порты gnupgи новее gnupg2. Я хотел бы использовать GnuPG для шифрования файлов. Должен ли я установить оба, или достаточно одного? Если я установил оба, совместимы ли оба? Имеет ли значение, какой из них я установлю первым?

qazwsx
источник

Ответы:

89

GnuPG 1

GnuPG 1.4 («классический») останется для встроенного и серверного использования, так как он приносит меньше зависимостей и меньшие двоичные файлы. Раньше его часто устанавливали так gpg, как сегодня его чаще называют gpg1(в зависимости от дистрибутива).

Со страницы руководства GnuPG 1.4:

Это автономная версия gpg. Для настольного использования вы должны рассмотреть возможность использования gpg2из пакета GnuPG-2 (на некоторых платформах gpg2устанавливается под именем gpg)

GnuPG 2

GnuPG 2.0 является переработанной версией GnuPG, но изменения в основном происходят на внутреннем уровне. Более новая версия разделена на несколько модулей, например, есть также модули для X.509 (используемые S / MIME).

От man gpg2:

В отличие от автономной версии gpg, которая больше подходит для серверных и встраиваемых платформ, эта версия обычно устанавливается под именем gpg2и больше ориентирована на настольный компьютер, поскольку требует установки нескольких других модулей.

GnuPG 2.1

Важное изменение пришло с GnuPG 2.1, которая объединяет ранее разделенные открытые и закрытые ключи ( pubring.gpgпротив secring.gpg) в открытый ключ. Это было реализовано таким образом, чтобы все было совместимо, так что вы все равно можете использовать GnuPG 1, когда GnuPG 2.1 интегрировал приватный ключ, но изменения в приватных ключах не будут отображаться для соответствующей другой реализации. Из журнала изменений :

[...] позволяет сосуществовать более старые версии GnuPG с GnuPG 2.1. Однако любое изменение закрытых ключей с использованием нового gpg не будет отображаться при использовании версий GnuPG, выпущенных до 2.1, и наоборот.


Чтобы прямо ответить на ваш вопрос:

Должен ли я установить оба, или достаточно одного? Имеет ли значение, какой из них я установлю первым?

Просто установите оба. Они все равно не мешают. Установите 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») является новым стандартом.
Марк Долинер