Tumpukan kunci publik gpg yang dapat dibaca manusia

22

Apakah ada alat untuk menulis konten aktual kunci publik GnuPG dengan cara yang bisa dipahami manusia? Maksud saya bukan hanya ascii-armor yang dapat dibaca dan diketik manusia, tetapi sesuatu yang benar-benar memecah data menjadi angka desimal besar untuk bagian crypto, string untuk UID, dan sebagainya? Saya benar-benar ingin melihat apa yang ada di sana.

Aplikasi aktual hari ini: Saya punya dua kunci dari orang yang sama, dibuat pada tanggal yang sama, tetapi berbeda dalam sidik jari. Asumsinya adalah bahwa salah satunya dibuat dari yang lain dengan semacam konversi, mungkin dengan mengimpor kunci lama ke keychaing menggunakan perangkat lunak terbaru. Saya ingin melihat apa yang sebenarnya berubah. Mungkin hanya algoritma sidik jari yang berubah, tetapi mungkin ada lebih dari itu.

MvG
sumber
Saya menemukan semua jawaban yang disarankan sebelum sampai ke pertanyaan ini. Sayangnya, ini masih menyebalkan untuk menjadi "dapat dibaca manusia", terutama ketika kunci memiliki banyak tanda tangan. Saya benar-benar berharap gpg2 siap memberikan informasi ini dalam beberapa jenis show-keyperintah :-(
Bluehorn

Jawaban:

20

Mencoba

gpg --list-packets --verbose < pubkey.asc

Itu tidak membuang data kunci, tetapi itu menunjukkan semua detail lainnya. Untuk membuang bagian data mentah tambahan Anda perlu men-debug flag 2, jadi tambahkan --debug 0x02, ini akan membuang kunci dan data lainnya dalam hex. Ini berfungsi di GPG versi 1.2 dan 1.4, tetapi sayangnya tidak di 2.0 karena dukungan untuk dumping bignum (MPI) data tidak diaktifkan (lihat DBG_MPIdi g10/parse-packet.c) untuk beberapa alasan.

Coba juga pgpdump :

pgpdump < pubkey.asc
mr.spuratic
sumber
Terlihat bagus, tetapi masih menghilangkan beberapa data: beberapa hal disingkat [1024 bits]atau disukai. Saya ingin melihat bit-bit itu. Saya tahu Anda menulis bahwa itu tidak termasuk.
MvG
1
Ditemukan, debug flag 2, diperbarui.
mr.spuratic
Bendera debug itu tidak berfungsi untuk saya, untuk beberapa alasan. Ini mencetak pesan tentang bendera yang diaktifkan, tetapi tidak mencetak info debugging untuk itu. Mungkin harus menggali melalui sumber untuk mencari tahu mengapa ... @ kegembiraan: pgpdump sangat mirip dengan apa yang ada dalam pikiran saya, terima kasih. Alasan khusus apa pun yang Anda pilih untuk mengedit jawaban yang sudah ada daripada mengirim yang baru. Bagaimanapun, keduanya adalah saran yang berbeda, masing-masing dengan kelebihan dan kekurangannya sendiri, sehingga pengguna mungkin ingin memilih secara independen.
MvG
3
Bendera debug ini untuk debugging MPI (bignum) ( DBG_MPI), berfungsi seperti ditunjukkan dalam GPG 1.2 / 1.4, tetapi tidak didukung dengan benar di GPG 2.0.x (dikomentari dalam g10/parse-packet.c) dengan "FIXME" di sampingnya ... @ grawity terima kasih atas tipnya pgpdump, terlihat berguna.
mr.spuratic
4

Sambil menunggu jawaban, saya membaca RFC4880 (OpenPGP) dan membuat beberapa kode saya sendiri untuk menguraikan dan mencetak bagian yang relevan dari aliran paket yang diekspor. Jauh dari selesai, tetapi mungkin bermanfaat bagi orang lain, jadi saya memposting ini juga. Saat ini saya melihat sedikit manfaat dari pgpdump yang disarankan oleh @grawity, tetapi siapa tahu ...

MvG
sumber
2

Saya telah menggunakan pgpdump. Ia bekerja dengan baik, dan menunjukkan keluaran yang bagus yang bisa dibaca manusia. Itu belum mencetak kunci Kurva Elliptic, tetapi setidaknya akan memberi tahu Anda itu adalah kunci EC. Jika Anda memilih opsi "dump literals", ini akan menunjukkan kepada Anda data kunci yang sebenarnya.

Brian Minton
sumber
pastebin.com/pRezWQfP adalah contoh dari output menggunakan kunci publik saya.
Brian Minton
1
Tampaknya situs itu hilang, hanya beberapa penghuni liar domain di sana sekarang ...
npostavs
Ya, sepertinya begitu.
Brian Minton