GnuPG について (4) Windows 版の設定

前回までで、GnuPG の入手まではできた。これからいきなり、gpg.exe を実行してしまってもいいのだが、事前にやっておいたほうがいい設定事項もあるので、そちらを先に説明しておく。
いや、コマンドラインの gpg.exe はかなり手強いので、一般の人は、説明なしで起動しても、すぐに強制終了させるくらいしかできないはずだ。
やはり説明が先だ。

まず、GnuPG の設定ファイルや鍵輪ファイル(まだ説明していないが、公開鍵のデータベースのようなもの)を格納するための、ホームフォルダを準備する。
GnuPG のドキュメントでは「ホームディレクトリ」と表現されているのだが、Windows 用語では、*NIX でいうところのディレクトリは「フォルダ」と呼ぶので、ここでは「ホームフォルダ」という表記を用いることにする。

ホームフォルダに関するGnuPG の動作は次のとおり。

GnuPG は起動すると、まず、起動時のコマンドラインの --homedir= オプションでホームフォルダが指定されているかどうかを確認する。これが指定されていたならば、以下で説明する設定がどうなっていようとも、このコマンドラインでの設定が最優先される。

続いて GnuPG は環境変数「GNUPG_HOME」の値を調べ、これが設定されていれば、これをホームフォルダとして使用する。
普通に量販店や通販で買ってきたパソコンなら、環境変数「GNUPG_HOME」が最初から設定されているということは、まずない。この環境変数を設定するのは、GnuPG の動作をカスタマイズしたい一部のパワーユーザのみと思われる。

さらに続いて、環境変数「GNUPG_HOME」が見つからない場合 GnuPG は、レジストリを参照し、HKCU、HKLM の順で「Software\GNU\GnuPG」の「HomeDir」の値を調べる。これが設定されていれば、これをホームフォルダとして使用する。少し古い GnuPG の解説記事だと、このレジストリを設定する説明が書かれていたりする。が、今のバージョン(1.4.9)の GnuPG では、レジストリの設定よりも環境変数が優先されることに注意が必要だ。
Windows のパワーユーザーで、環境変数よりもレジストリで設定するのが、Windows の作法だと信じているならば、この方法で、GnuPG のホームフォルダを設定するとよい。レジストリエディタで直接レジストリをいじることになるが。

環境変数も見つからず、レジストリも見つからない場合、GnuPG は Windows が OS として用意してくれている APPDATA フォルダ(Windows XP の場合、通常は C:\Documents And Settings\(ユーザー名)\Application Data というフォルダになる。特に設定していなければ非表示になっている)内の gnupg というフォルダを、ホームフォルダとして使用する。コマンドラインや環境変数、レジストリでの指定とは異なり、この場合に限り、指定されたフォルダが存在しない場合は、フォルダが勝手に作られてしまう。

そしてさらに、APPDATA フォルダ内にホームフォルダが見つからず、その作成にも失敗した場合、GnuPG は決めうちで、「C:\gnupg」というフォルダをホームフォルダとして使用することになっている。ものすごく古い GnuPG の解説文書の場合、C:\gnupg というフォルダを作れと書いてあったりすることがある(もちろん、ここまで来る前に、おそらくは APPDATA フォルダあたりで決着はつくはずなので、実際に、C:\gnupg フォルダが使われることはまず無いと思われる)。

長々と書いてきてしまったが、現実問題として、いきなりコマンドラインから gpg.exe を起動した場合は APPDATA フォルダ内に gnupg というフォルダができて、そこにデフォルトの鍵輪ファイルが作成されるケースがほとんどのはずだ。
要するに、自分のパソコンで、GnuPG を使うための特別な設定を自力で施していなければ APPDATA\gnupg フォルダが使われると覚えておけば、「GnuPG を使うための設定は必要ない」というのが結論だ。

なお、拙作 JanusDG では gpg.exe を呼び出す際に、--homedir オプションを設定しているので、環境変数やレジストリなどの影響を受けることはない。
また、APPDATA フォルダは、Windows ネットワークの設定によっては、中身がサーバー上にコピーされてしまったりもする。こういった場合、「GnuPG の秘密鍵をパスフレーズで保護する」意味が出てくる。

さらに付け加えておくと、GnuPG を利用したアプリケーションの中には、拙作のように自前で GnuPG の実行ファイルやら環境設定やらを用意してしまうタイプもあれば、ユーザーがあらかじめ自力でインストールした GnuPG を利用することが前提になったタイプもある。使う前に、どちらのタイプか見極めが必要だ。
ユーザーがインストールした GnuPG を利用する後者のタイプだと、GnuPG の設定同士が干渉する可能性がある。
自前で GnuPG を用意するタイプだと、そこだけ設定や鍵情報が違ってしまって同じ PC にインストールした他の GnuPG 系ソフトと統一運用できないという問題が生じうる。
これらの差異を理解したうえで、自分で見極めて道具は使い分けなければならない。

ブログ気持玉

クリックして気持ちを伝えよう!

ログインしてクリックすれば、自分のブログへのリンクが付きます。

→ログインへ

なるほど(納得、参考になった、ヘー)
驚いた
面白い
ナイス
ガッツ(がんばれ!)
かわいい

気持玉数 : 0

この記事へのコメント

この記事へのトラックバック