Как проверить отпечаток ключа asc?


15

В данный момент я пытаюсь проверить отпечаток ключа oracle_vbox.asc, который я скачал с http://www.virtualbox.org/wiki/Linux_Downloads : они предоставляют ключ и отпечаток, но нет инструкций по просмотру этой информации. себя.

Как показать отпечаток ключа, который я только что скачал?

apt-key finger oracle_vbox.asc показывает отпечатки всех доверенных ключей, а это не то, что я хочу.

Ответы:


19

Получить ключ:

$ wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc

Распечатайте отпечаток ключа с помощью GPG версии 1:

$ gpg --with-fingerprint oracle_vbox.asc 
pub  1024D/98AB5139 2010-05-18 Oracle Corporation
                      (VirtualBox archive signing key) <info@virtualbox.org>
      Key fingerprint = 7B0F AB3A 13B9 0743 5925  D9C9 5442 2A4B 98AB 5139
sub  2048g/281DDC4B 2010-05-18
      Key fingerprint = 27B0 97CF 8257 4209 C434  8D42 B674 8A65 281D DC4B

Обратите внимание, что 2-й отпечаток - это всего лишь отпечаток субключа.

Распечатайте отпечаток пальца с помощью GPG версии 2:

$ gpg2 -n -q --import --import-options import-show  oracle_vbox.asc   
pub   dsa1024 2010-05-18 [SC]
      7B0FAB3A13B907435925D9C954422A4B98AB5139
uid   Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
sub   elg2048 2010-05-18 [E]

Обратите внимание, что -nэто псевдоним для --dry-run, т.е. ключ фактически не импортируется.

Кроме того, чтобы просто отобразить отпечатки пальцев:

$ gpg2 -nq --import --import-options import-show --with-colons oracle_vbox.asc \
     | awk -F: '$1 == "fpr" { print $10 }'
7B0FAB3A13B907435925D9C954422A4B98AB5139
27B097CF82574209C4348D42B6748A65281DDC4B

Есть ли аналогичная команда без использования gpg? Я имею в виду, что в SSH я могу это сделать, cat ./id_rsa.pub | awk '{print $2}' | base64 -d | md5sumи он вернет мне хеш MD5, который равен хешу отпечатка пальца ssh -lf ./id_rsa.pub. Есть ли подобный способ сделать это с открытыми ключами GPG?
user3019105 13.09.15

2
@ user3019105, нет, нет. Формат открытого ключа PGP немного сложнее. См. RFC 4880 и исходный код GPG для деталей.
Maxschlepzig

В RFC говорится (об устаревших отпечатках MD5): The fingerprint of a V3 key is formed by hashing the body (but not the two-octet length) of the MPIs that form the key material (public modulus n, followed by exponent e) with MD5.не могу ли я получить тело этого MPI с файлом открытого ключа ASCII Armor (Radix-64)?
user3019105 13.09.15

@ user3019105, вы можете. Вы можете дублировать то, что уже реализовано в GPG. Но такая командная строка будет более сложной, чем та, которую вы опубликовали для открытого ключа ssh. Таким образом, это не будет аналогичным.
maxschlepzig

Хорошо, спасибо, но мне все еще нужно выяснить, о чем body of the MPIs that form the key materialговорит RFC
user3019105

5

Шаг 1

$ deb http://download.virtualbox.org/virtualbox/debian artful contrib

Шаг 2

$ wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add -

Шаг 3

$ apt-key list

или, что эквивалентно,

$ apt-key finger

который должен вернуться

/etc/apt/trusted.gpg
--------------------
pub   rsa4096 2016-04-22 [SC]
      B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
uid           [ unknown] Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
sub   rsa4096 2016-04-22 [E]

что в свою очередь должно быть эквивалентно

Отпечаток ключа для oracle_vbox_2016.asc:

B9F8 D658 297A F3EF C18D  5CDF A2F6 83C5 2980 AECF
Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>

на https://www.virtualbox.org/wiki/Linux_Downloads , либо визуальным осмотром, либо дальнейшей командной строкой fu.


Ссылки по теме:


этому вопросу не хватает объяснения ...
сумасшедший о Natty

0

У вас есть и ключ, и отпечаток пальца? Бегать:

ssh-keygen -lf key.pub

против ключа, чтобы получить отпечаток пальца.

ssh-keygenссылка: http://www.manpagez.com/man/1/ssh-keygen/


3
ssh-keygen не распознает "oracle_vbox.asc" как файл открытого ключа.
Аманда

моя ошибка, команда должна быть "ssh-keygen -lf" У вас все еще есть неррор?
Мварио

4
Это не работает.
maxschlepzig

ssh-keygen -lf oracle_vbox_2016.asc oracle_vbox_2016.asc не является файлом с открытым ключом.
Скотт Стенсленд

2
ssh-keygen не для ключей PGP.
Джеффри

0

Это работает с GPG 2 (по крайней мере, я мог проверить это с версиями 2.1.18и 2.2.12):

wget http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc
gpg_home=$(mktemp -d)
gpg --homedir "$gpg_home" --import oracle_vbox.asc
# gpg: keybox '/tmp/tmp.CHoWuJBy7N/pubring.kbx' created
# gpg: /tmp/tmp.CHoWuJBy7N/trustdb.gpg: trustdb created
# gpg: key 54422A4B98AB5139: public key "Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>" imported
# gpg: Total number processed: 1
# gpg:               imported: 1
gpg --homedir "$gpg_home" --list-keys
# /tmp/tmp.CHoWuJBy7N/pubring.kbx
# -------------------------------
# pub   dsa1024 2010-05-18 [SC]
#       7B0FAB3A13B907435925D9C954422A4B98AB5139
# uid           [ unknown] Oracle Corporation (VirtualBox archive signing key) <info@virtualbox.org>
# sub   elg2048 2010-05-18 [E]
# 

Источник: /unix//a/468889

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.