Scoop 版 GnuPG 2.3 系の gpg-agent が動かない?

no extension

今日も Azure Virtual Desktop で遊んでいるのだが,どうやら Scoop でインストールした 2.3 系 GnuPG で gpg-agent が上手く起動しないみたい。 厳密には GnuPG v2.3.2 以降。

実は仕事用の Windows マシンでは随分前から気がついていたが,忙しくて碌に検証もできなかったのだ1。 今回の真っさら Windows で試してみて「やっぱ動かんぢゃん!」ってなった。

詳しく言うと

$ gpg-connect-agent /bye
gpg-connect-agent: gpg-agentが動いていません - 開始します'C:\\Users\\username\\scoop\\apps\\gnupg\\current\\bin\\gpg-agent.exe'
gpg-connect-agent: agent の起動のため、5秒待ちます...
gpg-connect-agent: agent の起動のため、4秒待ちます...
gpg-connect-agent: agent の起動のため、3秒待ちます...
gpg-connect-agent: agent の起動のため、2秒待ちます...
gpg-connect-agent: agent の起動のため、1秒待ちます...
gpg-connect-agent: can't connect to the gpg-agent: IPC connect呼び出しに失敗しました
gpg-connect-agent: 標準オプションを送信エラー: エージェントが動いていません

という感じに gpg-agent を起動しようとするも,5秒でタイムアウトになって失敗する。 v2.3.1 に戻すと動くので v2.3.2 で何かあったんだろう。

v2.3.2 の変更点を眺めると

  • Under Windows use LOCAL_APPDATA for the socket directory. [#5537]

とある。 どうもこれっぽい。 でも gpgconf で見ると

$ gpgconf --list-dirs | grep socket
socketdir:C%3a\Users\username\scoop\apps\gnupg\current\gnupg
dirmngr-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.dirmngr
keyboxd-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.keyboxd
agent-ssh-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.gpg-agent.ssh
agent-extra-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.gpg-agent.extra
agent-browser-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.gpg-agent.browser
agent-socket:C%3a\Users\username\scoop\apps\gnupg\current\gnupg\S.gpg-agent

てな感じで,ちゃんと Scoop 配下で設定されてるんだけどねぇ。

wingetGnuPG を導入する

まぁ,愚痴ってもしょうがないので,とりあえず Scoop 版は諦めることにしよう。 幸いなことに winget でも GnuPG をインストール可能で,こちらは標準のインストーラが動くようだ。

$ winget search gnupg
名前              ID            バージョン ソース
--------------------------------------------------
GNU Privacy Guard GnuPG.GnuPG   2.3.3      winget
Gpg4win           GnuPG.Gpg4win 3.1.16     winget

というわけでインストールしてしまおう。

$ winget install GnuPG.GnuPG
見つかりました GNU Privacy Guard [GnuPG.GnuPG] バージョン 2.3.3
このアプリケーションは所有者からライセンス供与されます。
Microsoft はサードパーティのパッケージに対して責任を負わず、ライセンスも付与しません。
Downloading https://gnupg.org/ftp/gcrypt/binary/gnupg-w32-2.3.3_20211012.exe
  ██████████████████████████████  4.59 MB / 4.59 MB
インストーラーハッシュが正常に検証されました
パッケージのインストールを開始しています...
インストールが完了しました

$ gpg --version
gpg (GnuPG) 2.3.3
libgcrypt 1.9.4
Copyright (C) 2021 g10 Code GmbH
License GNU GPL-3.0-or-later <https://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: C:\Users\username\AppData\Roaming\gnupg
サポートしているアルゴリズム:
公開鍵: RSA, ELG, DSA, ECDH, ECDSA, EDDSA
暗号方式: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256,
      TWOFISH, CAMELLIA128, CAMELLIA192, CAMELLIA256
AEAD: EAX, OCB
ハッシュ: SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
圧縮: 無圧縮, ZIP, ZLIB, BZIP2

$ which gpg.exe
C:\Program Files (x86)\gnupg\bin\gpg.exe

$ gpgconf --list-dirs | grep socket
socketdir:C%3a\Users\username\AppData\Local\gnupg
dirmngr-socket:C%3a\Users\username\AppData\Local\gnupg\S.dirmngr
keyboxd-socket:C%3a\Users\username\AppData\Local\gnupg\S.keyboxd
agent-ssh-socket:C%3a\Users\username\AppData\Local\gnupg\S.gpg-agent.ssh
agent-extra-socket:C%3a\Users\username\AppData\Local\gnupg\S.gpg-agent.extra
agent-browser-socket:C%3a\Users\username\AppData\Local\gnupg\S.gpg-agent.browser
agent-socket:C%3a\Users\username\AppData\Local\gnupg\S.gpg-agent

$ gpg-connect-agent /bye
gpg-connect-agent: gpg-agentが動いていません - 開始します'C:\\Program Files (x86)\\gnupg\\bin\\gpg-agent.exe'
gpg-connect-agent: agent の起動のため、5秒待ちます...
gpg-connect-agent: agentへの接続が確立しました

よーし,うむうむ,よーし。

こういう調査を Azure Virtual Desktop でしたかったんだよね。 最悪コワしても仮想マシンを作り直せばいいんだし。

さて GnuPG の導入で思いのほか手こずったので git 環境の整備は次回だな(笑)

ブックマーク

参考図書

photo
暗号化 プライバシーを救った反乱者たち
スティーブン・レビー (著), 斉藤 隆央 (翻訳)
紀伊國屋書店 2002-02-16
単行本
4314009071 (ASIN), 9784314009072 (EAN), 4314009071 (ISBN)
評価     

20世紀末,暗号技術の世界で何があったのか。知りたかったらこちらを読むべし!

reviewed by Spiegel on 2015-03-09 (powered by PA-APIv5)

photo
暗号技術入門 第3版 秘密の国のアリス
結城 浩 (著)
SBクリエイティブ 2015-08-25 (Release 2015-09-17)
Kindle版
B015643CPE (ASIN)
評価     

SHA-3 や Bitcoin/Blockchain など新しい知見や技術要素を大幅追加。暗号技術を使うだけならこれ1冊でとりあえず無問題。

reviewed by Spiegel on 2015-09-20 (powered by PA-APIv5)


  1. 2.3系では特にセキュリティ・アップデートは発生していないので「後回しでいっか」と思っていた。 ↩︎