メイン | 2006年03月 »

2006年02月17日

安定版 GnuPG ver.1.4.3 Release Candidate 1 リリース

17日付で GnuPGver.1.4.3 RC 1 がリリースされています。

特に問題がなければ、これが次期安定版の ver.1.4.3 としてリリースされることになります。

なお、今回のリリースでは、ソースコードのみのリリースとなっています。 (Windows 版バイナリはリリースされていません。)

情報源/参考情報

2006年02月16日

安定版 GnuPG ver.1.4.2.1 リリース

15日付で、安定版 GnuPGver.1.4.2.1 がリリースされています。

今回のリリースはセキュリティフィックスで、ソースコードと Windows 版バイナリが同時にリリースされています。

GnuPG Announce メーリングリストに流れたアナウンスによると、

Signature verification of detached signatures does not work, thus modified versions of signature protected files may not be detected.

All versions of gnupg prior to 1.4.2.1 are affected if they are used in certain unattended operation modes.

There is no problem using GnuPG in an interactive way because GnuPG won't print any signature status at all; i.e. no "Good signature".

1.4.2.1 よりも前の全てのバージョンで分離署名の検証処理に問題があり、署名で保護されているファイルに対する変更が検出されない場合があるとのことで、早急なバージョンアップが推奨されています。

情報源/参考情報

2006年02月11日

Datula で GnuPG を使う

Datula ver.1.51.08 以降で、 GnuPG を使う方法を簡単にまとめてみました。

ちなみに、このページでは Datula および Windows 版の GnuPG のインストール方法には触れていません。 Windows 版の GnuPG のインストール方法については、「GnuPG をインストールする - Windows 編」を参照してください。

必要なもの

Datula で GnuPG を使うために必要なものは以下の通りです。

datula(バージョン番号).exe
配布元 : <http://www.onsystems.co.jp/>

Datula 本体の配布パッケージ (LHA 自己展開形式) です。

gnupg-w32cli-(バージョン番号).exe
配布元 : <http://www.gnupg.org/download/>

Windows 版 GnuPG の配布パッケージです。 以前は zip 形式のパッケージが配布されていましたが、 ver.1.4.0 Release Candidate 1 以降、インストーラ形式のパッケージが配布されるようになってます。

GnuPGPlugin-(バージョン番号)s.zip または GnuPGPlugin-(バージョン番号)s.zip
配布元 : <http://cgisv.chldren.net/~saku/gnupgplugin.html>

Datula で GnuPG を使用するために必要なプラグイン GnuPG Plugin for Datula の配布パッケージです。 プラグイン DLL, Readme ファイルがセットになった「通常パッケージ」と、プラグイン DLL, Readme ファイル, ソースファイルがセットになった「フルパッケージ」の二種類(いずれも zip 形式で圧縮)があります。

pgp55plugin(バージョン番号)-j.zip または pgp60plugin(バージョン番号)-j.zip または pgp65plugin(バージョン番号)-j.zip
配布元 : <http://www.onsystems.co.jp/PGPPlugin-j.html>

Datula で PGP を使用するために必要なプラグイン PGPPlugin.dll の配布パッケージです。 使用している PGP のバージョンにより入手すべきパッケージが異なりますので、注意してください。 現在、 ver.5.5.x 系列用のものと ver.6.0.x 系列用のものと ver.6.5.x 系列用のものの三種類(いずれも zip 形式で圧縮)があります。

なお、 Datula で PGP を使用する予定がないのであれば、このプラグインをインストールする必要はありません。 (このプラグインがなくても、 GnuPG Plugin for Datula は問題なく動作します。)

プラグインの入手とインストール

Datula は GUI 版 PGP に対応していますが、 PGP 関連の機能を利用するためには オンシステムズ社が提供しているプラグイン「PGPPlugin.dll」を別途入手する必要があります。

ところが、このプラグインは PGP 用のため GnuPG には使うことができません。 そこで、 Datula で PGP だけでなく GnuPG も使いたいといった場合には、作田さん開発のプラグイン「GnuPG Plugin for Datula」も合わせてインストールする必要があります。

PGP 用純正プラグイン PGPPlugin.dll の入手とインストール

Datula で PGP を使用する予定がないのであれば、 PGP 用純正プラグイン PGPPlugin.dll をインストールする必要はありません。 (このプラグインがなくても、 GnuPG Plugin for Datula は問題なく動作します。)

PGP 用純正プラグインの入手

PGP 用純正プラグイン PGPPlugin.dll の最新配布パッケージは、 Datula Home Page : Plugin for PGP/MIME <http://www.onsystems.co.jp/PGPPlugin-j.html> から入手することができます。

なお、使用している PGP のバージョンにより入手すべきパッケージが異なります。 現在、 ver.5.5.x 系列用のものと ver.6.0.x 系列用のものと ver.6.5.x 系列用のものの三種類がありますので、環境に応じたパッケージを入手してください。

PGP 用純正プラグインのインストール
  1. Datula が起動していないことを確認してください。起動している場合には、 Datula を終了してください。
  2. 入手したパッケージを任意のディレクトリに展開してください。 zip 形式に対応した展開ツールが必要になりますので、別途用意しておいてください。
  3. PGPPlugin.dll を Datula.exe が存在するディレクトリにコピーしてください。デフォルトのままインストールをしているのであれば、「C:\Program Files\Onsystems\Datula\」にコピーすることになります。(「C:\Program Files\Onsystems\Datula\Plugins\」ではありません。)
  4. PGPPlugin.dll のコピーが終わったら、 Datula を起動してください。

以上で、 PGP 関連の機能が利用できるようになるはずです。 うまくいかない場合は、プラグインが自分の使っている PGP のバージョンに合致しているかどうかを確認してください。

GnuPG 用プラグイン GnuPGPlugin.dll の入手とインストール
GnuPG 用プラグインの入手

GnuPG 用プラグイン GnuPG Plugin for Datula GnuPGPlugin.dll の最新配布パッケージは、 GnuPG Plugin for Datula <http://cgisv.chldren.net/~saku/gnupgplugin.html> から入手することができます。

プラグイン DLL, Readme ファイルがセットになった「通常パッケージ」と、プラグイン DLL, Readme ファイル, ソースファイルがセットになった「フルパッケージ」の二種類がありますので、お好みのアーカイブを入手してください。 プラグインを使用するだけなら「通常パッケージ」を入手すれば OK です。

GnuPG 用プラグインのインストール
  1. Datula が起動していないことを確認してください。起動している場合には、 Datula を終了してください。
  2. 入手したファイルを任意のディレクトリに展開してください。 zip 形式に対応した展開ツールが必要になりますので、別途用意しておいてください。
  3. GnuPGPlugin.dll を Datula.exe が存在するディレクトリにコピーしてください。デフォルトのままインストールをしているのであれば、「C:\Program Files\Onsystems\Datula\」にコピーすることになります。(「C:\Program Files\Onsystems\Datula\Plugins\」ではありません。)
  4. ファイル名を GnuPGPlugin.dll から PGPPlugin.dll に変更してください。 PGP 用の純正プラグイン PGPPlugin.dll がインストールされている場合には、あらかじめ既存の PGPPlugin.dll のファイル名を org-PGPPlugin.dll に変更しておいてください。
  5. Datula を起動してください。

以上で、 GnuPG 関連の機能が利用できるようになるはずです。

使用方法

  • Postman から [Shift] キーを押したまま [編集(E)] 以下の PGP 関連処理を選ぶ
  • Datula から [Shift] キーを押したまま [編集(E)] - [PGP復号と検証(V)] を選ぶ

と、「GPG/PGP の選択」ダイアログがポップアップします。 GnuPG を使って処理を継続する場合には [GnuPG] ボタンを押します。

なお、 [Shift] キーが押されていない場合や「GPG/PGP の選択」ダイアログで [PGP] ボタンを押した場合には、既存の PGP が使用されるようになっています。

例1 > GnuPG を使って署名をする
  1. Postman から [Shift] キーを押したまま [編集(E)] - [PGP署名(S)] を選ぶと「GPG/PGP の選択」ダイアログが表示されるので、 [GnuPG] ボタンを押す。
  2. 「秘密鍵の選択(署名)」ダイアログが表示されるので、署名に使用する鍵を選択→選択した秘密鍵に対応するパスフレーズを入力→ [OK] を押して閉じる。
  3. 「GnuPG Log」ウィンドウが表示される場合があるので、その場合は内容を確認して閉じる。(エラーなどのメッセージ出力がない状態で署名処理が終了した場合には、「GnuPG Log」ウィンドウは開きません。)
  4. 処理が完了した旨のダイアログが表示されるので、 [OK] を押して閉じる。
例2 > GnuPG を使って暗号化と署名をする
  1. Postman から [Shift] キーを押したまま [編集(E)] - [PGP暗号化と署名(N)] を選ぶと「GPG/PGP の選択」ダイアログが表示されるので、 [GnuPG] ボタンを押す。
  2. 秘密鍵の選択(署名)」ダイアログが表示されるので、署名に使用する鍵を選択→選択した秘密鍵に対応するパスフレーズを入力→ [OK] を押して閉じる。
  3. 「公開鍵の選択(暗号化)」ダイアログが表示されるので、相手の公開鍵を選択してダブルクリックまたは [↓] ボタンを押し、「以下のメンバーが復号可能」のリストに加える。選択が終わったら [OK] を押して閉じる。
  4. 「GnuPG Log」ウィンドウが表示されるので、内容を確認して閉じる。(エラーなく署名が完了した場合には、おそらく、プライマリキーの代わりにセカンダリキーを使って署名した旨の内容が表示されていると思います。)
  5. 処理が完了した旨のダイアログが表示されるので、 [OK] を押して閉じる。
例3 > GnuPG を使って署名を検証する
  1. Datula から [Shift] キーを押したまま [編集(E)] - [PGP復号と検証(V)] を選ぶと「GPG/PGP の選択」ダイアログが表示されるので、 [GnuPG] ボタンを押す。
  2. 「GnuPG Log」ウィンドウ中に検証結果が表示されるので、内容を確認して閉じる。
PGP 用純正プラグインがインストールされていない場合

PGP 用純正プラグイン PGPPlugin.dll がインストールされていない場合は、デフォルトで GnuPG を使用して処理が行なわれます。 つまり、

  • Postman から [編集(E)] 以下の PGP 関連処理を選ぶ
  • Datula から [編集(E)] - [PGP復号と検証(V)] を選ぶ

ことで、「GPG/PGP の選択」ダイアログをポップアップさせることなく処理を行なうことができます。 オプションの設定・確認するために「GPG/PGP の選択」ダイアログを出す必要がある場合には、 [Shift] キーを押した状態で PGP 関連処理を選べば OK です。

Becky! ver.2.x で GnuPG を使う

Becky! ver.2.x 以降で、 GnuPG を使う方法を簡単にまとめてみました。

ちなみに、このページでは Becky! ver.2.x および Windows 版の GnuPG のインストール方法には触れていません。 Windows 版の GnuPG のインストール方法については、「GnuPG をインストールする - Windows 編」を参照してください。

必要なもの

Becky! ver.2.x で GnuPG を使うために必要なものは以下の通りです。

bk(バージョン番号)j.exe または bk(バージョン番号)j.zip
配布元 : <http://www.rimarts.co.jp/becky-j.htm>

Becky! ver.2.x 本体の配布パッケージです。 以下の2種類が用意されています。

bk(バージョン番号)j.exe
自己展開形式のパッケージです。 ダウンロード後に実行するとインストーラが起動します。
bk(バージョン番号)j.zip
zip 形式のパッケージです。 ダウンロード後、手動でパッケージの展開とインストーラの起動を行なう必要があります。 パッケージの展開には、 zip 形式に対応したツールが別途必要になります。

特に理由がなければ、自己展開形式のパッケージを利用する方が簡単です。

gnupg-w32cli-(バージョン番号).exe
配布元 : <http://www.gnupg.org/download/>

Windows 版 GnuPG の配布パッケージです。 以前は zip 形式のパッケージが配布されていましたが、 ver.1.4.0 Release Candidate 1 以降、インストーラ形式のパッケージが配布されるようになってます。

BkGnuPG-(バージョン番号).exe または BkGnuPG-(バージョン番号).full.zip
配布元 : <http://hp.vector.co.jp/authors/VA023900/gpg-pin/index.html>

Becky! ver.2.x で GnuPG を使用するために必要なプラグイン BkGnuPG (GNU Privacy Guard Plug-in for Becky! 2) の配布パッケージです。 現在、以下の2種類が用意されています。

BkGnuPG-(バージョン番号).exe
自己展開形式のパッケージです。 配布サイト上で「インストールパッケージセット」とされているものです。 インストーラ, DLL, Readme ファイルが含まれています。 ダウンロード後、実行するとインストーラが起動します。
BkGnuPG-(バージョン番号).full.zip
zip 形式のパッケージです。 配布サイト上で「フルパッケージセット」とされているものです。 DLL, Readme ファイル, マニュアル, ソースコードが含まれています。 ダウンロード後、手動でパッケージの展開とインストールを行なう必要があります。 パッケージの展開には、 zip 形式に対応したツールが別途必要になります。

特に理由がなければ、自己展開形式のパッケージを利用する方が簡単です。

プラグインのインストール

インストールパッケージセットを利用する場合

ダウンロードしたファイルを実行するだけです。

  1. Becky! ver.2.x が起動していないことを確認してください。起動している場合には終了してください。
  2. ダウンロードしたファイル BkGnuPG-(バージョン番号).exe を実行してください。
  3. 表示されるダイアログの指示に従ってください(^^;
フルパッケージセットを利用する場合
  1. Becky! ver.2.x が起動していないことを確認してください。 起動している場合には終了してください。

  2. 入手したファイルを任意のディレクトリに展開してください。 zip 形式に対応した展開ツールが必要になりますので、別途用意しておいてください。

  3. 展開されたファイルのうち、プラグインの動作に必要なものは BkGnuPG.dll だけです。 この DLL ファイルを、

    • Becky! ver.2.x のインストールフォルダ以下にある「PlugIns」フォルダ [例 : C:\Program Files\RimArts\B2\PlugIns\]
    • Becky! ver.2.x のインストール時に指定したデータフォルダ以下にある「PlugIns」フォルダ [例 : C:\Becky!\(ログオンユーザ名)\PlugIns\]

    のいずれかにコピーすれば、インストール完了です。

    複数のユーザで BkGnuPG プラグインを有効にする場合は、インストールフォルダ以下のプラグインフォルダにコピーします。 現在ログオンしているユーザのみで BkGnuPG プラグインを有効にする場合は、データフォルダ以下のプラグインフォルダにコピーします。

  4. BkGnuPG プラグインのインストール後、初の Becky! ver.2.x 起動時に、 BkGnuPG プラグインを読み込むかどうかを確認するダイアログが表示されます。 ここで読み込む選択をすれば、以降、 BkGnuPG プラグインが有効化された状態で起動するようになります。

主な使い方

プラグインの設定

プラグインが正常にインストール & 有効化されている場合は、 [ツール(T)] - [プラグインの設定(U)] - [GNU Privacy Guard Plug-in] で、設定項目がリストアップされた [GnuPG Settings] ダイアログを開くことができます。 必要に応じて、設定を行なって下さい。

なお、各設定の詳細については、オンラインマニュアルの「機能説明 - 設定ダイアログ」の項目を参照してください。

受信メールの復号および署名の検証

以下のいずれかの手順で行ないます。

  • 処理対象メールをリストビューで選択 → [ツール(T)] - [GnuPG: 復号化と検証...]
  • リストビューから処理対象メールを右クリック → [GnuPG: 復号化と検証...]
  • メッセージビューに処理対象メールを表示されている状態で右クリック → [GnuPG: 復号化と検証...]

いずれも、復号する場合は、パスフレーズ入力を求める [GnuPG Passphrase] ダイアログが表示されます。 ここで、パスフレーズを入力後、 [OK] を押下してください。

署名の検証結果など、処理内容が [Output] ダイアログに表示されます。 内容を確認したら、 [OK] を押下して閉じて構いません。 特に問題がなければ、処理対象のメールは復号され、メッセージビューに内容が表示されているはずです。

送信メールに署名を施す

メール作成ウィンドウから [ツール(T)] - [GnuPG: 署名...] とすると、パスフレーズ入力を求める [GnuPG Passphrase] ダイアログが表示されます。 ここで、 [ローカルユーザ(U):] に対応する秘密鍵のパスフレーズを入力後、 [OK] を押下してください。

処理内容が [Output] ダイアログに表示されます。 内容を確認したら、 [OK] を押下して閉じて構いません。

なお、 [ローカルユーザ(U):] の変更や一時的な設定変更を [GnuPG Passphrase] ダイアログから行なうこともできます。 詳細は、オンラインマニュアルの「機能説明 - メールの署名」の項目を参照してください。

送信メールに署名を施し、暗号化する

メール作成ウィンドウから [ツール(T)] - [GnuPG: 署名と暗号化...] とすると、最初に受信者を指定する [GnuPG 受信者] ダイアログが表示されます。 [受信者(R):] の初期値は、メール作成ウィンドウの To: フィールドに設定されたメールアドレス(設定によっては Cc: フィールドに指定されたメールアドレスも含む)になっていますので、必要に応じて、編集し、 [OK] を押下してください。

次に、パスフレーズ入力を求める [GnuPG Passphrase] ダイアログが表示されます。 ここで、 [ローカルユーザ(U):] に対応する秘密鍵のパスフレーズを入力後、 [OK] を押下してください。

処理内容が [Output] ダイアログに表示されます。 内容を確認したら、 [OK] を押下して閉じて構いません。

GnuPG をインストールする - Windows 編

インストーラ形式が採用された ver.1.4.0 Release Candidate 1 以降の 1.4.x 系列のバージョンをインストールする手順をまとめてみました。

インストールする前に

ver.1.4.0 Release Candidate 1 よりも前のバージョンの GnuPG をインストールしている場合は、インストールする前に、

GnuPG のホームディレクトリをバックアップする

念のため、 GnuPG ホームディレクトリ (デフォルトは「C:\GnuPG」, 任意のディレクトリをレジストリで設定している場合は、そのディレクトリ) 以下にある secring.gpg, pubring.gpg などを全てバックアップしておきましょう。

GnuPG 関連の環境変数を削除する

通常は、環境変数 PATH から GnuPG のインストールパス (デフォルトは「C:\GnuPG」, 任意のディレクトリにインストールしている場合は、そのディレクトリ) を削除する程度でしょう。 それ以外に、独自で GnuPG 関連の環境変数を追加している場合は、それも合わせて削除しておきましょう。

GnuPG 関連のレジストリを削除する

通常は、「\\HKEY_CURRENT_USER\Software\GNU\GnuPG」を (環境によっては「\\HKEY_LOCAL_MACHINE\Software\GNU\GnuPG」も) 削除する程度でしょう。

レジストリの操作には、 Windows が起動しなくなる可能性などの危険が伴います。 万が一の場合に備え、データや設定のバックアップを取るなど、必要な措置を事前に講じておいてください。 何らかのトラブルが発生したとしても、わたしは一切責任を負いません。

しておいた方が、トラブルが起きたときに混乱が少なくて良いかも知れません。

インストールする

インストーラを起動する

Administrators 権限を持つユーザで、ダウンロードしたファイル gnupg-w32cli-(バージョン).exe を実行してください。 インストーラが起動しますので、表示されるダイアログの内容に従って、順次作業を進めてください。

インストールディレクトリにパスを通す

インストールディレクトリ (デフォルトは「C:\Program Files\GNU\GnuPG」, 任意のディレクトリにインストールしている場合は、そのディレクトリ) にパスが通っていることを確認してください。

コマンドプロンプトから、

C:\>set path
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

として確認します。

もしも、この例のように Path= 行に GnuPG のインストールディレクトリのパスが設定されていない場合は、以下の要領で設定しておきましょう。 例えば、 Windows 2000 に GnuPG をデフォルトの状態でインストールした場合は、

  1. [コントロールパネル] の [システム] で [システムのプロパティ] ダイアログを開きます。
  2. [詳細] - [環境変数(E)...] - [システム環境変数(S)] で [新規(W)..] を押下します。
  3. [新しいユーザ変数] ダイアログの [変数名(N):] に「PATH」を [変数値(V):] の先頭に「C:\Program Files\GNU\GnuPG;」を追記したあと [OK] を押下してダイアログを閉じます。
  4. [システムのプロパティ] ダイアログを [OK] を押下して閉じます。

設定後、同様にコマンドプロンプトから、

C:\>set path
Path=C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\GNU\GnuPG
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH

として確認します。

インストール後の作業

バックアップしておいたホームディレクトリの内容をコピーする

インストール前に既存のホームディレクトリの内容をバックアップしておいた場合は、それらを新しいホームディレクトリ (デフォルトは「C:\Documents and Settings\(ログオンユーザ名)\Application Data\GnuPG」) に全てコピーしておきましょう。

もちろん、使用するホームディレクトリについては、設定で変更することができます。

ホームディレクトリを変更する

デフォルトのホームディレクトリは「C:\Documents and Settings\(ログオンユーザ名)\Application Data\GnuPG」です。

これを任意のディレクトリ (例えば「C:\GnuPG」) に変更する場合は、以下の作業を行なってください。

レジストリの操作には、 Windows が起動しなくなる可能性などの危険が伴います。 万が一の場合に備え、データや設定のバックアップを取るなど、必要な措置を事前に講じておいてください。 何らかのトラブルが発生したとしても、わたしは一切責任を負いません。

  1. ホームディレクトリを変更したいユーザでログオンしていることを確認してください。
  2. レジストリエディタ regedit.exe を起動し、 [HKEY_CURRENT_USER] - [Software] キーを開きます。
  3. [Software] キー以下に [GNU] キーがあれば、それを開いてください。 なければ、以下の作業を行なってください。
    1. [Software] キー以下に [編集(E)] - [新規(N)] - [キー(K)] で新しいキー「GNU」を作成します。
    2. さらに [GNU] キー以下に [編集(E)] - [新規(N)] - [キー(K)] で新しいキー「GnuPG」を作成します。
  4. [GnuPG] キーの中に [編集(E)] - [新規(N)] - [文字列(S)] で、新しい文字列「HomeDir」を作成します。
  5. 文字列 [HomeDir] の値のデータを編集するために、 [編集(E)] - [変更(M)] で [文字列の編集] ダイアログを開きます。
  6. [値のデータ(V):] に「C:/GnuPG」を入力し、 [OK] を押下してダイアログを閉じます。 ディレクトリの区切り文字には、「\」(バックスラッシュ)ではなく「/」(スラッシュ)を用いることに注意してください。
  7. 設定後は「名前が HomeDir , 種類が REG_SZ , データが C:/GnuPG」となっているはずです。

これで、当該ユーザのホームディレクトリが「C:\GnuPG」になります。

出力を日本語化する

出力を日本語化する場合、インストール終了後に以下の作業を行なってください。

レジストリの操作には、 Windows が起動しなくなる可能性などの危険が伴います。 万が一の場合に備え、データや設定のバックアップを取るなど、必要な措置を事前に講じておいてください。 何らかのトラブルが発生したとしても、わたしは一切責任を負いません。

  1. 出力を日本語化するユーザでログオンしていることを確認してください。
  2. レジストリエディタ regedit.exe を起動し、 [HKEY_CURRENT_USER] - [Software] キーを開きます。
  3. [Software] キー以下に [GNU] キーがあれば、それを開いてください。 なければ、以下の作業を行なってください。
    1. [Software] キー以下に [編集(E)] - [新規(N)] - [キー(K)] で新しいキー「GNU」を作成します。
    2. さらに [GNU] キー以下に [編集(E)] - [新規(N)] - [キー(K)] で新しいキー「GnuPG」を作成します。
  4. [GnuPG] キーの中に [編集(E)] - [新規(N)] - [文字列(S)] で、新しい文字列「Lang」を作成します。
  5. 文字列 [Lang] の値のデータを編集するために、 [編集(E)] - [変更(M)] で [文字列の編集] ダイアログを開きます。
  6. [値のデータ(V):] に「ja」を入力し、 [OK] を押下してダイアログを閉じます。
  7. 設定後は「名前が Lang , 種類が REG_SZ , データが ja」となっているはずです。

これで、当該ユーザで日本語のメッセージファイルが有効になります。

GnuPG に既存の鍵ペアをインポートする

既に PGP の鍵ペアを持っている場合には、その鍵ペアをインポートして利用することができます。

この場合は、まず最初に PGP 側で鍵ペアを

  • 「秘密鍵→公開鍵」の順に
  • アスキー形式で
  • ひとつのファイルに

エクスポートし、 GnuPG 側でそれをインポートするという流れになります。

鍵ペアを含むファイルが用意できたら、コンソールから「gpg --import --allow-secret-key-import (インポートする鍵ペアを含むファイル)」と入力します。

$ gpg --import --allow-secret-key-import (インポートする鍵ペアファイル)
gpg: 鍵輪「/home/(ユーザ名)/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/home/(ユーザ名)/.gnupg/pubring.gpg」ができました
gpg: 鍵????????: 秘密鍵を読み込みました
gpg: /home/(ユーザ名)/.gnupg/trustdb.gpg: 信用データベースができました
gpg: 鍵????????: 公開鍵“Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>”を読み込みました
gpg:     処理数の合計: 1
gpg:           読込み: 1
gpg:   秘密鍵の読出し: 1
gpg:   秘密鍵の読込み: 1

なお、通常配布されている GnuPG では、特許の関係から IDEA がサポートされていません。 このため、 IDEA/RSA 形式の鍵ペア (例えば PGP version 2 系列で利用しているもの) を使用することができません。 注意してください。

インポートした秘密鍵の信用情報を変更する

秘密鍵をインポートした直後は、当該鍵の「信用」および「有効性」が「未知の」状態になっています。 これを変更するには、

  1. コンソールから「gpg --edit-key (秘密鍵の KeyID)」と入力します。

    $ gpg --edit-key (秘密鍵の KeyID)
    gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
    This program comes with ABSOLUTELY NO WARRANTY.
    This is free software, and you are welcome to redistribute it
    under certain conditions. See the file COPYING for details.
     
    秘密鍵が使用できます。
     
    pub  1024D/????????  作成: ????-??-??  満了: 無期限      利用法: CS
                         信用: 未知の        有効性: 未知の
    sub  4096g/????????  作成: ????-??-??  満了: 無期限      利用法: E
    [ unknown] (1). Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>
    コマンド>
    

    当該鍵の状態が表示されます。

  2. 「コマンド>」プロンプトに対して「trust」と入力します。

    他のユーザーの鍵を正しく検証するために、このユーザーの信用度を決めてください
    (パスポートを見せてもらったり、他から得た指紋を検査したり、などなど)
     
      1 = 知らない、または何とも言えない
      2 = 信用し ない
      3 = ある程度信用する
      4 = 完全に信用する
      5 = 絶対的に信用する
      m = メーン・メニューに戻る
     
    あなたの決定は?
    

    5つの信用度の中から選択するよう促されます。 今回、信用度を変更しようとしているのは、自分の秘密鍵ですから「5」を選択します。 すると、

    本当にこの鍵を絶対的に信用しますか? (y/N)
    

    と、その選択で良いかどうかを確認されます。 「y」を選択すると、

    pub  1024D/????????  作成: ????-??-??  満了: 無期限      利用法: CS
                         信用: 絶対的        有効性: 未知の
    sub  4096g/????????  作成: ????-??-??  満了: 無期限      利用法: E
    [ unknown] (1). Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>
    プログラムを再起動するまで、表示された鍵の有効性は正しくないかもしれない、
    ということを念頭においてください。
     
    コマンド>
    

    と、表示されます。 「コマンド>」プロンプトに対して「quit」と入力し、いったん、終了してください。

  3. 設定が反映されているか、念のため、確認しておきましょう。 コンソールから、再度「gpg --edit-key (秘密鍵の KeyID)」と入力します。

    $ gpg --edit-key (秘密鍵の KeyID)
    gpg: 信用データベースの検査
    gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
    gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
     
    pub  1024D/????????  作成: ????-??-??  満了: 無期限      利用法: CS
                         信用: 絶対的        有効性: 絶対的
    sub  4096g/????????  作成: ????-??-??  満了: 無期限      利用法: E
    [ultimate] (1). Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>
     
    コマンド>
    

    「信用」と「有効性」が「絶対的」になっていることを確認したら、「コマンド>」プロンプトに対して「quit」と入力し、終了してください。

GnuPG の鍵ペアを生成する

Fedora Core にインストールした GnuPG 1.4.1 を使用して、鍵ペア(秘密鍵と公開鍵)を生成する手順です。 環境によっては、出力が異なることがあるかもしれませんが、適宜読み替えてください。

  1. コンソールから「gpg --gen-key」と入力します。

    $ gpg --gen-key
    gpg (GnuPG) 1.4.1; Copyright (C) 2005 Free Software Foundation, Inc.
    This program comes with ABSOLUTELY NO WARRANTY.
    This is free software, and you are welcome to redistribute it
    under certain conditions. See the file COPYING for details.
     
    gpg: 鍵輪「/home/(ユーザ名)/.gnupg/secring.gpg」ができました
    gpg: 鍵輪「/home/(ユーザ名)/.gnupg/pubring.gpg」ができました
    ご希望の鍵の種類を選択してください:
       (1) DSAとElgamal (既定)
       (2) DSA (署名のみ)
       (5) RSA (署名のみ)
    選択は?
    

    どの種類の鍵ペアを作成するのかを聞かれます。 特に理由がなければ、デフォルトの「1」を選択します。

  2. 次は、鍵のサイズの選択です。

    DSA keypair will have 1024 bits.
    ELG-E keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048) 4096
    

    鍵のサイズが小さいほど暗号の強度は弱くなります(が、その分、処理速度は早くなります)。 用途に応じた値を選択してください。 ここでは、「4096」と指定します。

  3. 次は、鍵の有効期限の設定です。

    要求された鍵長は4096ビット
    鍵の有効期限を指定してください。
             0 = 鍵は無期限
          <n>  = 鍵は n 日間で満了
          <n>w = 鍵は n 週間で満了
          <n>m = 鍵は n か月間で満了
          <n>y = 鍵は n 年間で満了
    鍵の有効期間は? (0)
    

    有効期限設定の有無やその期間については、用途に応じた値を選択してください。 ここでは、デフォルトの「0」 (数字のゼロ) を選択します。

  4. Key does not expire at all
    これで正しいですか? (y/N)
    

    有効期限の設定を確認されます。 ここでは、もちろん「y」を入力します。

  5. 次はユーザ ID の設定です。

    あなたの鍵を同定するためにユーザーIDが必要です。
    このソフトは本名、コメント、電子メール・アドレスから
    次の書式でユーザーIDを構成します:
        "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
     
    本名: Sample Key
    

    まず、名前を入力します。 いわゆる半角の英数文字で入力してください。 「本名」とありますが、必ずしも本名を入力する必要はありません。 なお、この項目は省略できません(半角英数文字で5文字以上入力する必要があります)。 ここでは、「Sample Key」と入力します。

    電子メール・アドレス: samplekey@localhost.localdomain
    

    次にメールアドレスを入力します(省略可能)。 ここでは、「samplekey@localhost.localdomain」と入力します。

    コメント: TEST USE ONLY
    

    次にコメントを入力します(省略可能)。 ここでは、「TEST USE ONLY」と入力します。

    次のユーザーIDを選択しました:
        “Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>”
    
    名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終
    了(Q)? o
    

    最後に入力情報の確認です。 修正の必要がなければ、「o」 (英字のオー) を選択します。

  6. 次はパスフレーズの設定です。

    秘密鍵を保護するためにパスフレーズがいります。
     
    パスフレーズを入力:
    パスフレーズを再入力:
    

    長くて、覚えやすくて、それでいて他人に推測されにくいパスフレーズを設定します。 パスフレーズは確認のため、同じものを2度入力する必要があります。

  7. パスフレーズの入力が終わると、以下のようなメッセージが表示されます。 しばらくの間、バックグラウンドで他の作業をしていてください。

    今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
    とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
    乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。
    ++++++++++.+++++.+++++.+++++.+++++...+++++.+++++.+++++...+++++++
    (中略)
    
  8. しばらくすると、信用データベース・鍵ペアが作成された旨が表示されます。

    gpg: /home/(ユーザ名)/.gnupg/trustdb.gpg: 信用データベースができました
    gpg: 鍵????????を絶対的に信用するよう記録しました
    公開鍵と秘密鍵を作成し、署名しました。
    
    gpg: 信用データベースの検査
    gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル
    gpg: 深さ: 0  有効性:   1  署名:   0  信用: 0-, 0q, 0n, 0m, 0f, 1u
    pub   1024D/???????? ????-??-??
                     指紋 = ???? ???? ???? ???? ????  ???? ???? ???? ???? ????
    uid                  Sample Key (TEST USE ONLY) <samplekey@localhost.localdomain>
    sub   4096g/???????? ????-??-??
    

    以上で、鍵ペアの作成は終了です。

GnuPG をインストールする - rpm パッケージ編

rpm パッケージを利用して GnuPG をインストールする手順です。

  • ディストリビューション提供の rpm パッケージをインストールする方法
  • ソースパッケージから rpm パッケージを作成してインストールする方法

のふたつの方法についてまとめています。

ディストリビューション提供の rpm パッケージをインストールする

利用している UNIX 風 OS のディストリビューションで、使用したいバージョンの rpm パッケージが提供されているのであれば、この方法を選択するのが、一番お手軽な方法ではないかと思います。

例えば、 Fedora Core の場合は、

$ sudo yum install gnupg

とすることで、 Fedora Project が提供している最新バージョンの GnuPG をリポジトリから取得・インストールすることができます。 なお、 yum の設定でパッケージ取得に利用するリポジトリを追加している場合には、 Fedora Project 以外から提供されるものがインストール候補に上がってくるかもしれません。 その場合は、注意深く、インストールの可否を判断してください。

ソースパッケージから rpm パッケージを作成してインストールする

利用しているディストリビューションから、使いたいバージョンがリリースされていない場合などには、公式配布されている tarball から rpm パッケージを自作・インストールすることもできます。 rpm のビルドに必要な spec ファイルは、 tarball に含まれていますので、通常は、大きなトラブルもなく終わるのではないかと思います。

一般ユーザの権限で rpm パッケージを作成可能にする

必須の手順ではありませんが、 root 権限で作業するのはなるべく避けたほうが良いだろう、ということで。 必要とお好みに応じて設定してください。

  1. ユーザのホームディレクトリ以下に、パッケージの展開・構築に必要なディレクトリを作成します。

    $ mkdir -p ~/rpm/{BUILD,SOURCES,SPECS,SRPMS,RPMS/{i386,i586,i686,noarch}}
    
  2. ユーザのホームディレクトリ以下に「.rpmmacros」を作成します。

    $ echo "%_topdir $HOME/rpm" > ~/.rpmmacros
    

なお、ディストリビューションによっては(例えば Vine Linux では)、 mkrpmdir コマンドを実行することで、必要なディレクトリと .rpmmacros が作成されるようになっている場合もあるようです。

rpm パッケージの作成・インストール
  1. tarball から rpm パッケージを作成します。

    $ rpmbuild -ta --clean ~/download/gnupg-(バージョン番号).tar.gz
    

    特に問題がなければ、 ~/rpm/RPMS/i386/ 以下に gnupg-(バージョン番号)-1.i386.rpm が作成されるはずです

    ………が、わたしの環境では、

    rm: cannot remove `/var/tmp/rpmbuild_gnupg-(バージョン番号)/usr/share/info/dir': No such file or directory
    

    のようなエラーがビルドの過程で発生しました。 そこで、 gnupg-(バージョン番号).tar.gz をいったん展開し、 gnupg-(バージョン番号)/gnupg.spec の168行目あたりにある

    rm %{buildroot}%{_infodir}/dir
    

    の行をコメントアウトし、 tarball を再構成。 その後、再度前述のコマンドを実行したところ、今度は無事に(?) rpm パッケージが作成されました。

  2. 作成された rpm パッケージをインストールします。

    $ sudo rpm -Uvh ~/rpm/RPMS/i386/gnupg-(バージョン番号)-1.i386.rpm
    

GnuPG をインストールする - ソースアーカイブ編

GnuPG のソースアーカイブファイル gnupg-(バージョン番号).tar.gz を利用して、 Fedora Core 上でインストールする場合の手順です。 環境によっては、出力が異なることがあるかもしれませんが、適宜読み替えてください。

  1. 配布パッケージの存在するディレクトリ (ここでは ~/download/ ) にカレントディレクトリを変更します。

    $ cd ~/download/
    
  2. アーカイブファイルを展開します。

    $ tar zxf ./gnupg-(バージョン番号).tar.gz
    
  3. 展開してできたディレクトリにカレントディレクトリを変更します。

    $ cd ./gnupg-(バージョン番号)
    
  4. あとは、 ./configure → make → sudo make install の定番パターンでインストールします。

    $ ./configure
    $ make
    $ sudo make install
    

GnuPG の配布パッケージを入手する

GnuPG の配布パッケージは、 GnuPG のオフィシャルサイト <http://www.gnupg.org/> のダウンロードページ <http://www.gnupg.org/download/> から入手することができます。

ソースパッケージ

gnupg-(バージョン番号).tar.gz
ソースのアーカイブファイルです。
gnupg-(バージョン番号).tar.gz.sig
gnupg-(バージョン番号).tar.gz に対する分離署名ファイルです。 gnupg-(バージョン番号).tar.gz に施されている電子署名を検証する際に必要となります。

Windows 版バイナリパッケージ

gnupg-w32cli-(バージョン).exe
Windows 版 GnuPG の配布パッケージです。 ver.1.4.0 Release Candidate 1 以降、インストーラ形式で配布されるようになりました。
gnupg-w32-(バージョン).exe.sig
配布パッケージ gnupg-w32cli-(バージョン).exe に対する分離署名ファイルです。 配布パッケージ gnupg-w32-(バージョン).exe に施されている電子署名を検証する際に必要となります。

配布パッケージを入手したら、それが正しい (改ざんされていない) ものかどうかを検証することを忘れずに。 なお、 GnuPG.org が推奨する検証方法は <http://www.gnupg.org/download/integrity_check.html> に記載されていますので、参考にしてください。

GnuPG とは?

概要

GnuPG (GNU Privacy Guard)OpenPGP 規格 (RFC 2440) に準拠したソフトウェアで、ドイツ在住の Werner Koch 氏を中心とする開発グループにより開発がはじめられました。

GnuPG はドイツで開発されているため、アメリカ合衆国の輸出規制を受けずに使用することができます。 また、 PGP (Pretty Good Privacy) と違い、デフォルトでは、特許権がからむアルゴリズムを使用していないため、商用利用・非商用利用問わずに使用することができます。

インターフェース

基本的には CUI 形式のソフトウェアですが、 GUI フロントエンドとして、

などの開発が行われています。

PGP とは?

PGP (Pretty Good Privacy) は、アメリカ合衆国在住の Philip R. Zimmermann 氏により開発された暗号ソフトウェアです。 1991年にインターネットに最初のバージョンが公開されました。

紆余曲折の後、現在では、 PGP Corporation (日本 PGP 株式会社) により PGP 関連製品の開発・販売が行なわれています。 同社からは、商用利用が可能な製品版だけではなく、非商用利用に限定されたフリーウェア版の提供、およびソースコードの提供が行なわれています。 なお、 Zimmermann 氏は、スペシャルアドバイザー兼コンサルタントとして、現在も同社にサービスを提供しています。

ちなみに、日本国内における PGP の販売代理店は、現在、

となっています。 サポートが必要な場合や商用利用を考えている場合は、これらの会社からの購入を検討してください。

ただし、これを書いている時点では、日本国内における個人向け製品の販売窓口はありません。 個人向け製品が必要な方で、サポートが必要な場合や商用利用を考えている場合は、 PGP Corporation のウェブサイト経由で直接購入する形になります。 (参考情報 : [INTERNET Watch] 米 PGP Corporation が日本法人「日本 PGP」を設立)

©Copyright 2006-2008 FUDAN All Right Reserved.