ฉันจะยืนยันลายนิ้วมือคีย์ 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 หรือไม่?
3019105

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.ฉันไม่สามารถรับเนื้อหาของ MPIs นี้ได้หรือไม่เนื่องจากไฟล์คีย์สาธารณะ ASCII Armor (Radix-64)?
3019105

@ user3019105 คุณสามารถ คุณสามารถทำซ้ำสิ่งที่มีการใช้งานแล้วใน GPG แต่บรรทัดคำสั่งดังกล่าวจะค่อนข้างละเอียดกว่าที่คุณโพสต์ไว้สำหรับรหัสสาธารณะของ ssh ดังนั้นมันจะไม่คล้ายคลึงกัน
maxschlepzig

โอเคขอบคุณ แต่ฉันยังต้องค้นหาวิธีการbody of the MPIs that form the key materialพูดถึง RFC
3019105

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ไม่ว่าจะโดยการตรวจสอบด้วยภาพหรือบรรทัดคำสั่งเพิ่มเติม


ลิ้งค์ที่มีความเกี่ยวข้อง:


คำถามนี้หายไปคำอธิบายบางอย่าง ...
nutty เกี่ยวกับ natty

0

คุณมีทั้งกุญแจและลายนิ้วมือเหรอ? วิ่ง:

ssh-keygen -lf key.pub

กับคีย์เพื่อรับลายนิ้วมือ

ssh-keygenการอ้างอิง: http://www.manpagez.com/man/1/ssh-keygen/


3
ssh-keygen ไม่รู้จัก "oracle_vbox.asc" เป็นไฟล์กุญแจสาธารณะ
Amanda

ความผิดพลาดของฉันคำสั่งควรเป็น "ssh-keygen -lf" คุณยังได้รับ nerror หรือไม่?
mvario

4
สิ่งนี้ใช้ไม่ได้
maxschlepzig

ssh-keygen -lf oracle_vbox_2016.asc oracle_vbox_2016.asc ไม่ใช่ไฟล์กุญแจสาธารณะ
Scott Stensland

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.