web-dev-qa-db-ja.com

公開鍵ファイルからGPGユーザーIDを抽出していますか?

GPG公開鍵からユーザーIDを抽出することは可能ですか?

私は公開鍵のみを取得し、それが誰であるかを知りたいです。私は1つの可能な回避策を見つけます—この情報をキーサーバーに公開すること—情報をデコードして公開します。しかし、私にはわかりません。これを行う必要があります。

コマンドラインgpgを使用してユーザーIDを抽出することは可能ですか?

4
shytikov

使用する gpg --list-packets [filename]すべてのデータパケットを一覧表示してから、ユーザーIDのgrepを取得します。例えば:

$ gpg --export 0xDED9B508F4E10DB2 | gpg --list-packets | Egrep '^:user ID packet'
:user ID packet: "John Doe <[email protected]>"

代わりにpgpdumpを使用することになります

$ gpg --export 0xDED9B508F4E10DB2 | pgpdump | Egrep '^[[:space:]]*User ID'
    User ID - John Doe <[email protected]>
5
Jens Erat

以下は、正規表現を必要とせずに、UIDパケットから「username <email>」フィールドを発行します。

$ gpg --with-colons --list-keys 0xDED9B508F4E10DB2 | awk -F: '$1=="uid" { print $10 }'
blah <a@b>
0
user310346