gnupg 2.1.16: – отпечаток пальца больше не работает, чтобы показать отпечатки пальцев

Прежде чем импортировать ключ из файла, я хочу проверить отпечаток ключа. В соответствии с инструкциями из вики-страницы centos я использую команду

gpg --quiet --with-fingerprint <path of key file> 

, Если я использую gnupg 2.1.16 (self compiled) или gnupg 2.1.17 (openSUSE Tumbleweed или ArchLinux (команда gpg )), то вывод не содержит ключа. Если я использую gnupg 2.1.15 (self compiled) или gnupg 2.1.13 (Fedora (команда gpg2 )), вывод содержит отпечаток пальца, как ожидалось.

Как получить отпечаток пальца с новыми версиями gnupg?

Ниже приведена дополнительная информация о моих тестах:

  • Используемый ключевой файл: http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-7
  • вывод gpg --quiet --with-fingerprint ./RPM-GPG-KEY-CentOS-7 (разрывы строк могут быть неправильными)
    • с gnupg 2.1.17: pub rsa4096 2014-06-23 [SC] uid CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
    • с gnupg 2.1.16: pub rsa4096 2014-06-23 [SC] uid CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>
    • с gnupg 2.1.13: pub rsa4096 2014-06-23 [SC] 6341 AB27 53D7 8A78 A7C2 7BB1 24C6 A8A7 F4A8 0EB5 uid CentOS-7 Key (CentOS 7 Official Signing Key) <security@centos.org>

One Solution collect form web for “gnupg 2.1.16: – отпечаток пальца больше не работает, чтобы показать отпечатки пальцев”

См. https://unix.stackexchange.com/a/391346/29483 . Обработка ключевого файла как брелка не работала для меня, но принятый ответ помог.

cat keyfile.key | gpg --with-colons --import-options import-show --dry-run --import

Протестировано на Debian 9 с gpg 2.1.18 и Fedora 26 с gpg2 2.2.0:

 $ gpg2 --with-fingerprint --import-options import-show --dry-run --import < linux_signing_key.pub pub dsa1024 2007-03-08 [SC] 4CCA 1EAF 950C EE4A B839 76DC A040 830F 7FAC 5991 uid Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com> sub elg2048 2007-03-08 [E] pub rsa4096 2016-04-12 [SC] EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796 uid Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com> sub rsa4096 2016-04-12 [S] [expires: 2019-04-12] gpg: Total number processed: 2 

Это также возможно --with-fingerprints устаревают. Кажется, что GPG2 был исправлен, чтобы остановить вывод небезопасных коротких ключей.

 $ gpg2 --import-options import-show --dry-run --import < linux_signing_key.pub pub dsa1024 2007-03-08 [SC] 4CCA1EAF950CEE4AB83976DCA040830F7FAC5991 4CCA1EAF950CEE4AB83976DCA040830F7FAC5991 uid Google, Inc. Linux Package Signing Key <linux-packages-keymaster@google.com> sub elg2048 2007-03-08 [E] pub rsa4096 2016-04-12 [SC] EB4C1BFD4F042F6DDDCCEC917721F63BD38B4796 EB4C1BFD4F042F6DDDCCEC917721F63BD38B4796 uid Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com> sub rsa4096 2016-04-12 [S] [expires: 2019-04-12] gpg: Total number processed: 2 

К сожалению, я хотел получить машиночитаемый вывод из --with-colons , но там что-то еще происходит :-(.

 $ gpg --with-colons --with-fingerprint --import-options import-show --dry-run --import < linux_signing_key.pub gpg: lookup_hashtable failed: Unknown system error gpg: trustdb: searching trust record failed: Unknown system error gpg: Error: The trustdb is corrupted. gpg: You may try to re-create the trustdb using the commands: gpg: cd ~/.gnupg gpg: gpg --export-ownertrust > otrust.tmp gpg: rm trustdb.gpg gpg: gpg --import-ownertrust < otrust.tmp gpg: If that does not work, please consult the manual 

Я закончил использовать следующий код

 gpg_show_fingerprints() { gpg2 --with-fingerprint --import-options import-show --dry-run --import < "$1" >/dev/null 2>&1 if [ "$?" == 2 ]; then # Usage error. Try the old way. gpg2 --with-fingerprint "$1" else gpg2 --with-fingerprint --import-options import-show --dry-run --import < "$1" fi } gpg_show_fingerprints "$1" | sed -E -n -e 's/.*(([0-9A-F]{4}[ ]*){10,}).*/\1/ p' 
  • Проблема с ключом Gnome
  • Безопасный просмотр зашифрованного файла
  • gpg: дешифрование без пароля работает в терминале, но не в msmtp / mutt на основе tmux (невозможно открыть / dev / tty)
  • Как автозапускать открытые ключи в mutt?
  • GPG-шифрование с постепенным удалением параллельно
  • Невозможно использовать пакетный режим ?! FreeBSD gpg 1.4.19
  • Возможно ли, что APT обрабатывает зашифрованные пакеты GPG?
  • Словарь атаки GPG симметричный зашифрованный ключевой файл LUKS
  • GPG decrypt возвращает пустой файл
  • Шифровать вывод apt-listchanges перед отправкой электронной почты
  • dirmngr не начинается с надлежащего домашнего каталога, если он не перезапускается
  • Interesting Posts
    Linux и Unix - лучшая ОС в мире.