web-dev-qa-db-ja.com

人間が読めるgpg公開鍵のダンプ

人間が理解できない方法でGnuPG公開鍵の実際のコンテンツを書き出すツールはありますか?人間が読み取って入力できるASCIIアーマーだけでなく、データを暗号部分の大きな10進数、UIDの文字列などに実際に分解する何かを意味しますか?何が入っているのか見てみたいです。

今日の実際のアプリケーション:同じ日付で作成されたが、指紋が異なる、同じ人物からの2つのキーがあります。おそらく、最近のソフトウェアを使用して古いキーをキーチェインにインポートすることによって、それらの1つが何らかの変換によって他から作成されたと想定されています。実際に何が変わったのか見たいのですが。おそらく、変更されたのはフィンガープリント作成アルゴリズムだけですが、それだけではありません。

22
MvG

試す

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

重要なデータはダンプしませんが、他のすべての詳細を表示します。追加の生データパーツをダンプするには、デバッグフラグ2が必要なので、--debug 0x02を追加します。これにより、キーとその他のデータが16進数でダンプされます。これはGPGバージョン1.2と1.4で機能しますが、なんらかの理由でbignum(MPI)データのダンプのサポートが有効になっていない(DBG_MPIg10/parse-packet.cを参照)ため、残念ながら2.0では機能しません。

pgpdump も試してください:

pgpdump < pubkey.asc
21
mr.spuratic

答えを待っている間に、私は RFC4880(OpenPGP) を読み、エクスポートされたパケットストリームの関連部分を解析して出力するために 自分のコード を思いつきました。完全とは言えませんが、他の人にとっては役立つかもしれないので、これも投稿します。今のところ、@ grawityによって提案されたpgpdumpに比べてメリットはほとんどないようですが、誰が知っていますか…

4
MvG

私は pgpdump を使用しました。これはうまく機能し、人間が読める素晴らしい出力を示します。楕円曲線キーはまだ印刷されませんが、少なくともECキーであることを通知します。 「リテラルのダンプ」オプションを選択すると、実際の主要なデータが表示されます。

2
Brian Minton