Почему gpg расстраивается и как его остановить?

18

Недавно я перешел с одной установки Ubuntu на другой, и в процессе изменилось мое имя пользователя. Я импортировал пару общедоступных / закрытых ключей в gpg, и хотя дешифрование (с использованием моего личного ключа) прекрасно работает, всякий раз, когда я пытаюсь что-то зашифровать с помощью своего открытого ключа, я получаю следующее предупреждающее сообщение:

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

После этого он спрашивает меня, действительно ли я хочу использовать ключ (я всегда отвечаю «да», потому что на самом деле это клавиша only в моем брелоке, и я знаю, откуда он пришел) , Я могу дешифровать вещи просто отлично, так почему gpg бросает шипение, когда я пытаюсь что-то зашифровать? И как я могу предотвратить появление этого сообщения снова?

    
задан fouric 01.05.2013 в 02:43
источник

3 ответа

13

Мне удалось воспроизвести проблему, с которой вы столкнулись. Я сделал следующее:

$ gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --gen-key

<specified parameters and let it do its thing>

gpg: key 58018BFE marked as ultimately trusted
public and secret key created and signed.

<snip>

$

Обратите внимание, что процесс помечает ключ как «в конечном счете доверенный».

Теперь я экспортирую ключи:

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export-secret-keys -a >private.key

$gpg --no-default-keyring --keyring ./test-keyring  --secret-keyring ./test-secring --trustdb-name ./test-trustdb --no-random-seed-file --export -a > public.key

Теперь я импортирую в новую базу данных gpg:

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import public.key

$gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file --import private.key

Теперь, если я попытаюсь зашифровать с помощью новых ключей, я получаю:

$ gpg --no-default-keyring --keyring ./test2-keyring  --secret-keyring ./test2-secring --trustdb-name ./test2-trustdb --no-random-seed-file -r Fake -e
gpg: AE3034E1: There is no assurance this key belongs to the named user

pub  1024R/AE3034E1 2013-06-13 Fake User <[email protected]>
 Primary key fingerprint: AD4D BAFB 3960 6F9D 47C1  23BE B2E1 67A6 5801 8BFE
      Subkey fingerprint: 58F2 3669 B8BD 1DFC 8B12  096F 5D19 AB91 AE30 34E1

It is NOT certain that the key belongs to the person named
in the user ID.  If you *really* know what you are doing,
you may answer the next question with yes.

Причиной этого является модель «сети доверия». По умолчанию для того, чтобы публичный ключ был доверен, он требует либо 1 «окончательный» сертификат доверия (обычно, когда вы лично проверяли личность людей), либо 3 «предельных» сертификатов доверия (где кто-то, кого вы знаете, кто знает кого-то, кого вы знаете ... подписал сертификат).

Поскольку gpg является приложением безопасности, он предупреждает вас, пытаетесь ли вы шифровать ключ, который не указан как доверенный. Причина, по которой ваш собственный ключ не доверяется в этом случае, проста. Это связано с тем, что вы не экспортировали доверительные отношения из предыдущего экземпляра gpg. Для этого используйте команды -export-ownertrust и -import-ownertrust.

Как всегда, обратитесь к странице руководства .

    
ответ дан Garrett Kajmowicz 13.06.2013 в 00:19
источник
16

Я столкнулся с тем же вопросом, но у меня больше не было доступа к старому ключу. Таким образом, вы можете восстановить доверие к своему старому ключу с помощью этого:

gpg --edit-key [email protected]
gpg> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)

  1 = I don't know or won't say
  2 = I do NOT trust
  3 = I trust marginally
  4 = I trust fully
  5 = I trust ultimately
  m = back to the main menu

Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
    
ответ дан Kevin Lyda 12.09.2014 в 14:42
5

Вы можете использовать флаг --always-trust , чтобы пропустить это сообщение.

    
ответ дан Paul Baltescu 07.08.2015 в 17:09