WindowsでGPG

本日、急にWindowsでPGPを扱う必要が生じ、PGPのソフトをインストールしたので、そのことについて記録する。PGPのソフトは、商用のものもフリーのものも複数あるが、ソフト名が単に"PGP"のものが多くて紛らわしい。

まず、以前に使ったことがあるPGPソフトを紹介する。
・SOURCENEXT/McAfeeの"PGP personal privacy"(有料)
機能が豊富でかつ直感的にわかりやすく、とても便利だった。
ファイルシステムごと暗号化する「PGPディスク」機能も、リムーバブルメディアには欠かせなかった。
このページにあるフリーソフト
動作がちょっと不安定だった。特に、Becky!のPGPプラグインと併用した時に、ダイアログが連発して困ったことになることが多かった。

今回は、手持ちのソフトが無く、至急だったので、フリーソフトで対応することにしたが、上記のフリーソフトは以前に失敗だったので、以下の2つのどちらかを使うことにした。
The International PGPのもの
GnuPG(GPG)
時代はGPGのような気がするし、ここはやはりGPGを試してみたい。Becky!やDatulaといったメールソフトのプラグインも存在し、メールの暗号化/復号も手軽なので、申し分ない。

●GPGのインストール手順
1. GPGのダウンロード
上記GnuPGのサイトからWindows用バイナリのダウンロードができるらしいが、私はうまくいかなかったので、ミラーサイトからダウンロードした。上記サイトの"Mirrors"をクリックすると、ミラーサイトがたくさん出てくが、日本のサイトならRingサーバーがお勧めだ。
今回は、gnupg-w32cli-1.4.3.exeをダウンロードした。

2. GPGのインストール
上記exeファイルを実行するとインストーラーが起動し、特に考えること無くインストールが完了する。
しかし、環境変数PATHが自動的には書き換わらないので、手動で設定する必要がある。WindowsXPの場合、コントロールパネルの「システム」を開き、「詳細」タブ→「環境変数」を選択し、環境変数PATHの値の最後に";C:\Program Files\GNU\GnuPG"を追加する。

以下、""で囲まれるコマンドは、コマンドプロンプトで実行することを仮定している。

●PGP keyの準備
・既にPGP keyがある場合
"gpg --import (鍵ファイル名)"として、GPGへの取り込みを行う。
例:"gpg --import key.asc"

・新規にPGP keyを作成する場合
"gpg --gen-key"を実行すると、色々質問され、その後keyができる。

・作成した鍵の公開鍵(public key)を配布する方法
"gpg --export (鍵) > ファイル名"で、公開鍵がファイルに保存できるので、そのファイルを配布する。
「(鍵)」の部分は、鍵に関連付けられたメールアドレスの一部で良い。
例:"gpg --export ynomura > ynomura.asc" → ynomura.ascを配る

・秘密鍵をファイルに保存する方法
"gpg --export-secret-keys (鍵) > ファイル名"とする。

●コマンドラインからの暗号化/復号
・暗号化
"gpg -e -r (公開鍵) (暗号化するファイル名)"を実行すると、暗号化されたファイルが別に作られる。(公開鍵)の部分は、公開鍵に関連付けられたメールアドレスの一部で良い。
例:"gpg -e -r ynomura file.doc" →file.doc.gpgができる

・復号
"gpg (暗号化されたファイル名)"を実行する。適切な秘密鍵を持っていれば、パスワードの入力を求められ、入力すると、復号されたファイルが別に作られる。
例:"gpg file.doc.gpg" →file.docができる

●メールソフト用プラグイン
・Becky!用プラグイン
このページからダウンロードできる。インストールは自動で、インストール後の設定は不要だった。

・Datula用プラグイン
このページからダウンロードできる。インストールは手動だが、ファイルを1つ名前を変えて移動するだけ。