hack のためのネタ帳, etc,,,

経緯

前からの懸案なんだけど、apt-cyg で PGP 公開鍵を鍵サーバーからじゃなく、web から拾って来ているので、
gpg の --search-keys とか --recv-keys とかで済ませたいなと。

ところが、これがなぜだか一筋縄でいかないというか、動作が凄く不安定でどうしたものかと。
原因が gpg, gpg2 にあるのか、キーサーバーにあるのか、途中回線にあるのかは不明なのだが、とにかく安定した結果が得られない。

調子が良い時は
$ gpg --search-keys cygwin
gpg: "cygwin"をhkpサーバkeys.gnupg.netから検索
(1)     cygSimple (Simplistic Cygwin Installation using Arch Linux's pacman.)
          2048 bit RSA key 58E6EE21, 作成: 2018-08-13
(2)     Yuya Anzai (cygwin) <y.anzai@hotmail.co.jp>
          2048 bit RSA key D3768386, 作成: 2017-08-09 (失効)
(3)     Carlos J. Martinez (windows laptop cygwin) <marti149@gmail.com>
          4096 bit RSA key 59F58C30, 作成: 2016-11-08, 有効期限: 2019-11-08
(4)     Lorenzo Lobba <lorenzo.lobba@gmail.com>
        Lorenzo Lobba (Working) <lorenzo.lobba@moxconsulting.it>
        Lorenzo Lobba (pair-key generated with cygwin and gnupg.) <lorenzo@lob
          4096 bit RSA key 8571936A, 作成: 2016-08-18
(5)     CloudABI Ports Collection for Cygwin <info@nuxi.nl>
          2048 bit DSA key A4836F43, 作成: 2016-03-29, 有効期限: 2021-03-28
(6)     Hicham Medkouri (Cygwin) <hicham.medkouri@gmail.com>
          4096 bit RSA key B47C6719, 作成: 2015-10-21
(7)     Denis Zaletaev (cygwin env) (generated in a cygwin env) <gilaldpellaeo
          2048 bit RSA key 2E1CC4ED, 作成: 2015-06-21
(8)     Albert Braden (Cygwin) <abraden@about.com>
          2048 bit RSA key 3D7D564E, 作成: 2015-04-02, 有効期限: 2020-03-31
(9)     Kevin Slattery (cygwin) <kslattery@kixeye.com>
          2048 bit RSA key 7F509646, 作成: 2014-05-30
Keys 1-9 of 26 for "cygwin".  番号(s)、N)次、またはQ)中止を入力してください >Q
みたいな結果が一瞬で返って来るかと思いきや、
次の瞬間には
$ gpg  --search-keys cygwin
gpg: "cygwin"をhkpサーバkeys.gnupg.netから検索
gpg: 鍵"cygwin"が鍵サーバに見つかりません
のように失敗してみたり、
$ gpg  --search-keys cygwin
gpg: 既知の鍵サーバがありません (オプション--keyserverを使いましょう)
gpg: 鍵サーバの検索に失敗しました: URIが不正です
のように --keyserver オプションを要求されたりと、とにかく不安定。
しかも、こうなってくると、なかなか成功しなくなってきて、--keyserver オプションを付けてみても
$ gpg --keyserver keys.gnu.net --search-keys cygwin
gpg: "cygwin"をhkpサーバkeys.gnu.netから検索
gpg: 鍵サーバのタイムアウト
gpg: 鍵サーバの検索に失敗しました: 鍵サーバのエラー
のようになる始末。
keyserver を pgp.mit.edu にしてみてもやはり安定しないし、gpg1 じゃなくて gpg2 を使ってもやはり安定しない。
それかと思うと、Cygwin と Ubuntu は不安定なのに Debian は意外と安定していたりと、
問題が、gpg, gpg2 にあるのか、キーサーバーや途中回線にあるのか、皆目見当がつかない。

裏で立ち上がる gpgkey_hkp とか dirmngr とかを kill したり、
~/.gnupg を rm するとかも試してみたがこれも効果なし。

クライアントがアクセス制限食らってるという線も考え得るが、
手作業で確認しているので、そこまで目くじら立てられるようなクエリは投げてないはずなのだが?

とりあえず、調子さえ良ければ、
gpg  --recv-keys 1169DF9F22734F743AA59232A9A262FF676041BA
で丸く収まるはずなのだが、
ここまで挙動がぶれると、地味に困る。
やはり web から wget が無難なのだろうか?

20181220: 追記
以下の記事によると なんか、GnuPG は裏で curl を使っているんだとか。
そう言えば、Windows 10 で curl がネイティブ採用されたせいで
$ which curl
/cygdrive/c/WINDOWS/system32/curl
とか返ってきてたよなーと思い、Cygwin 版の curl を入れてみたんだが、改善しない。
って、よく考えてみたら Ubuntu でも調子悪いんだから当たり前だよ orz

20181222: 追記
なんか、GNU の keyserver の URL keys.gnupg.net じゃなくて keys.gnu.net とか間違えていれてた。
gnu.net は地味に malicious な勢力に乗っ取られているドメインらしく、普通に http で繋ぐとろくでもない所にぶっ飛ばされてしまう。
そりゃ、search keys も失敗するわと orz
ということで、若干解決したのだが、
でもやっぱり、引けることは引けるけど、結構な確率で timeout してしまうし、不安定なのはあまり変わらないぞと(- -;;;)


2020-03-24: 追記
cygwin の gpg2 でなぜか --search-keys が動かなかったんだけど、どうも dirmngr の resolver に問題がありそうな雰囲気。
$GNUPGHOME/dirmngr.conf に以下の内容を書いておくとすんなり通った。
standard-resolver
参考:
  • archlinux / Forums / Applications & Desktop Environments / 2017-04-30: [SOLVED] Can't import keys from a keyserver with GPG # #21

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Wiki内検索

フリーエリア

管理人/副管理人のみ編集できます