Làm cách nào để xác minh dấu vân tay khóa asc?


15

Hiện tại, tôi đang cố kiểm tra dấu vân tay của khóa oracle_vbox.asc mà tôi đã tải xuống từ http://www.virtualbox.org/wiki/Linux_Doads : họ cung cấp khóa và dấu vân tay nhưng không có hướng dẫn để xem xét thông tin này riêng tôi.

Làm cách nào để hiển thị dấu vân tay của khóa tôi vừa tải xuống?

apt-key finger oracle_vbox.asc hiển thị dấu vân tay của tất cả các khóa đáng tin cậy, đó không phải là điều tôi muốn.

Câu trả lời:


19

Lấy chìa khóa:

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

In dấu vân tay bằng GPG phiên bản 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

Lưu ý rằng dấu vân tay thứ 2 chỉ là dấu vân tay của phím phụ.

In dấu vân tay với GPG phiên bản 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]

Lưu ý rằng đó -nlà một bí danh cho --dry-run, tức là khóa không thực sự được nhập.

Ngoài ra, để chỉ hiển thị dấu vân tay:

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

Có một lệnh tương tự mà không sử dụng gpg? Ý tôi là, trong SSH, tôi có thể làm được cat ./id_rsa.pub | awk '{print $2}' | base64 -d | md5sumvà nó sẽ trả về cho tôi hàm băm MD5 tương đương với hàm băm của dấu vân tay ssh -lf ./id_rsa.pub. Có cách nào tương tự để làm điều đó với khóa công khai GPG không?
user3019105

2
@ user3019105, không, không có. Định dạng của khóa công khai PGP phức tạp hơn một chút. Xem RFC 4880 và mã nguồn GPG để biết chi tiết.
maxschlepzig

RFC nói (về dấu vân tay không dùng được 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.tôi có thể lấy phần thân của MPI này để cung cấp tệp khóa công khai ASCII Armor (Radix-64) không?
user3019105

@ user3019105, bạn có thể. Bạn có thể nhân đôi những gì đã được triển khai trong GPG. Nhưng một dòng lệnh như vậy sẽ khá phức tạp hơn so với dòng lệnh bạn đã đăng cho khóa công khai ssh. Do đó, nó sẽ không giống nhau.
maxschlepzig

Được rồi, cảm ơn, nhưng tôi vẫn cần tìm hiểu làm thế nào để body of the MPIs that form the key materialnói về RFC nói về
user3019105

5

Bước 1

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

Bước 2

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

Bước 3

$ apt-key list

hoặc, tương đương,

$ apt-key finger

cái nào sẽ trở lại

/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]

lần lượt tương đương với

Dấu vân tay quan trọng cho oracle_vbox_2016.asc là

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

trên https://www.virtualbox.org/wiki/Linux_Doads , bằng cách kiểm tra trực quan hoặc thêm dòng lệnh fu.


Liên kết liên quan:


câu hỏi này thiếu một số lời giải thích ...
hấp dẫn về

0

Bạn có cả chìa khóa và dấu vân tay? Chạy:

ssh-keygen -lf key.pub

chống lại chìa khóa để lấy dấu vân tay.

ssh-keygentham khảo: http://www.manpagez.com/man/1/ssh-keygen/


3
ssh-keygen không nhận ra "oracle_vbox.asc" là một tệp khóa công khai.
Amanda

lỗi của tôi, lệnh nên là "ssh-keygen -lf" Bạn vẫn nhận được một nerror?
mvario

4
Điều này không hoạt động.
maxschlepzig

ssh-keygen -lf oracle_vbox_2016.asc oracle_vbox_2016.asc không phải là một tệp khóa công khai.
Scott Stensland

2
ssh-keygen không dành cho khóa PGP.
Geoffrey

0

Điều này hoạt động với GPG 2 (ít nhất tôi có thể kiểm tra nó với các phiên bản 2.1.182.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]
# 

Nguồn: /unix//a/468889

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.