Uygun anahtar kimlikleri ve parmak izlerini makine tarafından okunabilir biçimde alın


11

Puppetlabs-apt'de belirli bir anahtarın 40 basamaklı tuş parmak izi ile mevcut olmasını sağlamak için anahtar parmak izlerinin tanımlayıcı olarak kullanılmasını sağlamak için bir sorunu düzeltmeye çalışıyorum.

Anahtar mevcut olup olmadığını kontrol etmekte zorluk yaşıyorum ve aşağıdaki çıktıyı verecek bir komuta ihtiyacım var:

  • Anahtarın 8 basamaklı kimliği.
  • Anahtarın 16 haneli kimliği.
  • Anahtarın 40 haneli kimliği.

apt-keyHer satırda bir tane olmak üzere bu değerleri çıktılamak için kullanabileceğim bir komut var mı , böylece çıktıyı ayrıştırabilir ve anahtarın mevcut olup olmadığını kontrol edebilir miyim?

Yanıtlar:


21

apt-key adv seçenekleri doğrudan GnuPG'ye geçirmenizi sağlar.

Böylece ayrıştırılabilir çıktı almak için böyle bir şey yapabilirsiniz:

# 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:
⋮

Sadece parmak izi ile ilgilendiğiniz için (8 basamaklı ve 16 basamaklı kimlikler parmak izinin sadece sonu), | grep ^fprönemsediğiniz satırları veriyor gibi görünüyor.


Alma Yani fingerprint[-8:](Python) Bana 8 basamaklı kimliği alacağı ve fingerpint[-16:]bana 16 haneli numarası alacağı? Bunların kriptolojik olarak türetilmiş kısa karmalar olduğunu düşündüğüm için aptal ...
Naftuli Kay

2
@NaftuliTzviKay Parmak izi, kriptografik olarak türlenmiş bir karıştır. Yeniden kesmek veya sadece kısaltmak için herhangi bir güvenlik faydası yoktur. Ayrıca 8 haneli ve muhtemelen 16 haneli olanlar güvenli olamayacak kadar kısa; kaba kuvvetle yinelenen bir anahtar oluşturabilirsiniz. Sadece tam karma oldukça güvenlidir. Python kodunu beklendiği gibi yaparsa yorum yapamam, çünkü python bilmiyorum ... Ama sanırım evet. Sadece son 8 veya 16 onaltılık basamak.
derobert
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.