Подтвердить что ты не робот

Где я могу найти открытый ключ для Gnu Emacs?

Я использовал emacs всего полгода с 23.1 до 23.3.

Каждый раз, когда я пытался найти открытый ключ gpg для emacs, чтобы я мог проверить пакет tar.gz с tar.gz.sig, выпущенный с каждой новой версией. Оказалось, что я терпел неудачу каждый раз: -].

Кажется, я должен сначала открыть открытый ключ, и я искал веб-сайт emacs, но так и не нашел знак...

Я могу найти контрольную сумму SHA1 в списке рассылки http://lists.gnu.org/archive/html/info-gnu-emacs/2011-03/msg00000.html выполнить проверку целостности

Я не сомневаюсь, что безопасность FSF, между прочим. просто любопытно... никогда не использовать gpg раньше...

Можете ли вы дать мне ссылку?

Спасибо

4b9b3361

Ответ 1

Если вы попытаетесь проверить подпись, используя

gpg --verify <pkg>.key

вы получите результат следующим образом:

gpg: Signature made 02/17/05 14:02:42 GTB Standard Time using DSA key ID BE216115
gpg: Can't check signature: No public key

Идентификатор ключа, который вы ищете, BE216115, поэтому вы запрашиваете gpg для его получения, используя:

gpg --recv-keys BE216115

В результате я установил следующее:

gpg: requesting key BE216115 from hkp server keys.gnupg.net
gpg: key BE216115: public key "Francesco Potortì <[email protected]>" imported
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0  valid:   1  signed:   1  trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg: depth: 1  valid:   1  signed:   6  trust: 0-, 0q, 0n, 0m, 1f, 0u
gpg: depth: 2  valid:   6  signed:   1  trust: 0-, 0q, 0n, 6m, 0f, 0u
gpg: Total number processed: 1
gpg:               imported: 1

Теперь вы можете проверить это. Но так как вы не доверяете этому ключу, вывод будет:

gpg: Signature made 02/17/05 14:02:42 GTB Standard Time using DSA key ID BE216115
gpg: Good signature from "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg:                 aka "Francesco Potortì <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 4B02 6187 5C03 D6B1 2E31  7666 09DF 2DC9 BE21 6115

Итак, вы узнаете, что подпись действительна, но вы не доверяете открытому ключу. Вы можете доверять или подписывать открытый ключ, используя:

gpg --edit-key BE216115

В командной строке введите help, чтобы просмотреть все доступные параметры. Для получения дополнительной информации см. Использование Защиты конфиденциальности GNU

Ответ 2

Брелок GNU находится по адресу https://ftp.gnu.org/gnu/gnu-keyring.gpg.

Вы можете импортировать их локально (после загрузки) с

gpg --import gnu-keyring.gpg

Ответ 3

Ответ от @vhallac теперь устарел (я пытаюсь проверить загрузку emacs-24.4). Если вы не хотите загружать и импортировать весь GNU-ключ (как обсуждалось в @JSON), вот как это сделать. В этом ответе я покажу, что сегодня работает, а также как выяснить, что будет работать через год.

Сначала загрузите emacs и его файл .sig. У меня есть:

$ ls | grep emacs
emacs-24.4.tar.xz
emacs-24.4.tar.xz.sig

Предполагая, что у вас уже установлен gpg, попробуйте его проверить:

$ gpg --verify emacs-24.4.tar.xz.sig 
gpg: Signature made Mon 20 Oct 2014 02:58:21 PM EDT using RSA key ID A0B0F199
gpg: Can't check signature: public key not found

В этой попытке он терпит неудачу (вы увидите успешную попытку в конце этого сообщения). У меня нет открытого ключа. Вывод сообщает вам, какой открытый ключ вам нужно получить: A0B0F199. (Это то, что, скорее всего, изменится в будущем.)

Поэтому я пытаюсь загрузить его с помощью команды по умолчанию:

$ gpg --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server keys.gnupg.net
(...hangs here...)

Это просто зависает. Это потому, что у меня есть ufw (мое программное обеспечение брандмауэра Linux), блокирующее большинство портов. Вы можете указать gpg для использования порта 80, например:

$ gpg --keyserver hkp://keys.gnupg.net:80 --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server keys.gnupg.net
gpgkeys: key A0B0F199 not found on keyserver
gpg: no valid OpenPGP data found.
gpg: Total number processed: 0

Это произошло через брандмауэр, но сбой, поскольку по какой-то причине ключи Emacs/FSF больше не хранятся на сервере gnupg. Поэтому я попробовал другой сервер ключей, о котором я знаю, и имею некоторый уровень доверия:

$ gpg --keyserver hkp://pool.sks-keyservers.net:80 --recv-keys A0B0F199
gpg: requesting key A0B0F199 from hkp server pool.sks-keyservers.net
gpg: key A0B0F199: public key "Glenn Morris <[email protected]>" imported
gpg: Total number processed: 1
gpg:               imported: 1  (RSA: 1)

ОК, это сработало. Теперь проверьте его:

$ gpg --list-keys
...
pub   2048R/A0B0F199 2012-12-23 [expires: 2015-12-23]
uid                  Glenn Morris <[email protected]>
sub   2048R/951C59EC 2012-12-23 [expires: 2015-12-23]

Да, понял.

Теперь я могу проверить загруженный архив emacs:

$ gpg --verify emacs-24.4.tar.xz.sig 
gpg: Signature made Mon 20 Oct 2014 02:58:21 PM EDT using RSA key ID A0B0F199
gpg: Good signature from "Glenn Morris <[email protected]>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: B294 26DE FB07 724C 3C35  E5D3 6592 E9A3 A0B0 F199

Подпись является "хорошей", но не доверенной. См. Другие ответы о том, как доверять этому ключу.

Ответ 4

На корневом уровне FTP-сервера GNU находится файл README в котором объясняется, как использовать подписи.

См. Https://ftp.gnu.org/README для получения актуальной версии.

Текущий файл говорит:

There are also .sig files, which contain detached GPG signatures of the above
files, automatically signed by the same script that generates them.

You can verify the signatures for gnu project files with the keyring file from:
  https://ftp.gnu.org/gnu/gnu-keyring.gpg

In a directory with the keyring file, the source file to verify and the
signature file, the command to use is:

  $ gpg --verify --keyring ./gnu-keyring.gpg foo.tar.xz.sig