รับรหัสคีย์และลายนิ้วมือของ apt ในรูปแบบที่เครื่องอ่านได้


11

ฉันกำลังพยายามแก้ไขปัญหาใน puppetlabs-apt เพื่อให้สามารถใช้ลายนิ้วมือที่สำคัญเป็นตัวระบุเพื่อให้แน่ใจว่ามีบางคีย์ที่มีลายนิ้วมือของคีย์ 40 หลัก

ฉันมีปัญหาในการตรวจสอบว่ามีคีย์และฉันต้องการคำสั่งที่จะส่งออกต่อไปนี้:

  • ID 8 หลักของคีย์
  • ID 16 หลักของคีย์
  • ID 40 หลักของคีย์

มีapt-keyคำสั่งที่ฉันสามารถใช้เพื่อส่งออกค่าเหล่านี้หนึ่งรายการต่อบรรทัดหรือไม่ดังนั้นฉันสามารถแยกวิเคราะห์เอาต์พุตและตรวจสอบว่ามีคีย์อยู่หรือไม่?

คำตอบ:


21

apt-key adv จะให้คุณส่งตัวเลือกไปที่ GnuPG โดยตรง

ดังนั้นคุณสามารถทำสิ่งนี้เพื่อรับการแยกวิเคราะห์:

# apt-key adv --list-public-keys --with-fingerprint --with-colons 
⋮
fpr:::::::::126C0D24BD8A2942CC7DF8AC7638D0442B90D010:
pub:-:4096:1:9D6D8F6BC857C906:2014-11-21:2022-11-19::-:Debian Security Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>::scSC:
fpr:::::::::D21169141CECD440F2EB8DDA9D6D8F6BC857C906:
⋮

เนื่องจากคุณสนใจลายนิ้วมือเท่านั้น (รหัส 8 หลักและ 16 หลักเป็นเพียงจุดจบของลายนิ้วมือ) | grep ^fprดูเหมือนว่าจะให้สายที่คุณสนใจ


ถ้าอย่างนั้นfingerprint[-8:](Python) จะได้ ID 8 หลักมาfingerpint[-16:]ให้ฉันและฉันจะได้ ID 16 หลักมาให้ฉัน โง่ฉันคิดว่าสิ่งเหล่านี้ได้มา cryptologically สั้นแฮช ...
Naftuli เคย์

2
@NaftuliTzviKay ลายนิ้วมือเป็นแฮชที่ได้รับการเข้ารหัสลับ ไม่มีประโยชน์ด้านความปลอดภัยใด ๆ ที่จะ hashing อีกครั้งเมื่อเทียบกับการตัดทอนมัน นอกจากนี้ตัวเลข 8 หลักและ 16 หลักนั้นสั้นเกินไปที่จะปลอดภัย คุณสามารถสร้างคีย์ซ้ำโดยใช้กำลังดุร้าย แฮชแบบเต็มมีความปลอดภัยพอสมควร ไม่สามารถแสดงความคิดเห็นว่ารหัสหลามของคุณทำตามที่คาดไว้เพราะฉันไม่รู้จักหลาม ... แต่ฉันเดาว่าใช่ มันเป็นเลขฐานสิบหก 8 หรือ 16 หลักสุดท้าย
Derobert
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.