
GnuPG 1.4.19をダウンロードしました。実行ファイルの中には、
gpgkeys_hkp.exe
、gpgkeys_finger.exe
そしてgpgkeys_ldap.exe
。
3つの実行ファイルのうち最初のものは公開鍵サーバーとの通信に必要だとわかりました。
gpgkeys_finger.exe
そしてgpgkeys_ldap.exe
?
答え1
これらはキー サーバー プロトコル ドライバーです。言い換えると、GnuPG を使用してキー サーバーにアクセスするさまざまな方法を実装します。リストされているものの場合、HKP は現在一般的に使用されているプロトコルです。finger プロトコルは、以前は企業でリソース検索スキーマとしてより広く使用されていましたが、現在でも使用可能です。現在、企業は通常、ユーザー情報の保存と資格情報の検証の両方に LDAP データベースを使用します。
これらのアプリケーションは手動で実行することを意図したものではなく、使用方法に関するドキュメントはありません。私自身興味を持ったので、gpgkeys_hkp
実際のバイナリへの入力をインターセプトする小さなラッパー スクリプト (Linux システムの場合、Windows では別のスクリプトが必要です) に置き換えました。
#!/usr/bin/env sh
tee /tmp/gpgkeys_hkp.log | /usr/lib/gnupg/gpgkeys_hkp_
tee
STDIN上のすべてのものをにダンプし/tmp/gpgkeys_hkp.log
、同じ入力を名前を変更した実際のgpgkeys_hkp
実装に転送します。キーを検索すると[email protected]
、検索のためにキーサーバードライバーに送信される次のコマンドが表示されます。
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND SEARCH
[email protected]
そして最後に鍵を取り出す
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND GET
0x0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
Windowsでこれらを実行しようとすると、かもしれない行末のエンコードが異なるため ( Windows ではCRLF
/\r\n
であるのに対し、 Linux ではLF
/ \n
)、問題が発生することがありますが、これらのコンテンツを「UNIX」エンコードのテキスト ファイルとして保存し、最終的にこれらのファイルから読み取ると正常に動作し、結果が表示されます。
gpgkeys_hkp <input.txt # on Linux/other unixoid systems
gpgkeys_hkp.exe <input.txt # for Windows