gpgの使い方
gpgコマンドでは鍵の生成、管理、署名、検証、暗号化、復号化など様々な動作が可能な分、複雑なオプションが多数用意されています。ここでは自身の鍵の生成から署名の検証、暗号化、復号化までを一通り解説します。
gpgコマンドのドキュメント、ヘルプの参照
次のようにしてgpgコマンドに関するドキュメント、ヘルプを参照しておいて下さい。
$ lv `rpm -ql gnupg | grep README` $ gpg --help | lv $ man gpg
鍵の生成
gpgを初めて利用する場合、まず、自分自身の秘密鍵(secret key)と公開鍵(public key)を作成しておく必要があります。鍵の生成作業はリモートアクセスではなく、ローカルマシン上で行ないます。
【書式】gpg --gen-key
いくつか質問されますが、デフォルト値は悪くない選択肢です。
$ gpg --gen-key
gpg (GnuPG) 1.4.5; Copyright (C) 2006 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/shinichiro/.gnupg」ができました
gpg: 新しい構成ファイル「/home/shinichiro/.gnupg/gpg.conf」ができました
gpg: 警告: 「/home/shinichiro/.gnupg/gpg.conf」のオプションは起動している間、有効になりません
gpg: 鍵輪「/home/shinichiro/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/home/shinichiro/.gnupg/pubring.gpg」ができました
ご希望の鍵の種類を選択してください:
(1) DSAとElgamal (既定)
(2) DSA (署名のみ)
(5) RSA (署名のみ)
選択は? 1 ← 1 DSAとElgamalを選択
DSA keypair will have 1024 bits.
ELG-E keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) ← 暗号化に使用するElgamalキーの長さを指定する
要求された鍵長は2048ビット
鍵の有効期限を指定してください。
0 = 鍵は無期限
= 鍵は n 日間で満了
w = 鍵は n 週間で満了
m = 鍵は n か月間で満了
y = 鍵は n 年間で満了
鍵の有効期間は? (0) ← 特に理由がなければ無期限で良いでしょう。
Key does not expire at all
これで正しいですか? (y/N) y ← 良いならyを入力
あなたの鍵を同定するためにユーザーIDが必要です。
このソフトは本名、コメント、電子メール・アドレスから
次の書式でユーザーIDを構成します:
"Heinrich Heine (Der Dichter) "
本名: Shinichiro HIDA
電子メール・アドレス: shinichiro.hida@example.org
コメント: Example Organization
次のユーザーIDを選択しました:
“Shinichiro HIDA (Example Organization) ”
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O ← 上記で間違いなければO C-mします。
秘密鍵を保護するためにパスフレーズがいります。
パスフレーズを入力: ← パスフレーズを入力
(以下省略)
上記作業により、つぎのようなファイル群が~/.gnupgディレクトリに配置されます。
$ ls -la 合計 72 drwx------ 2 shinichiro shinichiro 4096 10月 26 13:36 . drwx------ 4 shinichiro shinichiro 4096 10月 26 12:35 .. -rw------- 1 shinichiro shinichiro 9207 10月 26 12:35 gpg.conf -rw------- 1 shinichiro shinichiro 1195 10月 26 13:04 pubring.gpg -rw------- 1 shinichiro shinichiro 600 10月 26 13:04 random_seed -rw------- 1 shinichiro shinichiro 1344 10月 26 13:04 secring.gpg -rw------- 1 shinichiro shinichiro 1280 10月 26 13:04 trustdb.gpg
個人用の設定ファイル、~/.gnupg/gpg.confではいくつかのパラメタを設定できます。複数の鍵を使う場合など、default-keyを設定すると良いでしょう。おそらく多くの場合、その他の項目を調整する必要はありません(パスフレーズをキャッシュし必要な場合にダイアログがポップアップするgpg-agentを利用するuse-agentというパラメタがありますが、これはGnuPG 2.*の機能です。CentOS 5のリポジトリにgnupg2はまだありません。gpg(gnupg1.x)とgpg2(gnupg2)は共存可能ですのでソースからコンパイルして導入してみるのも良いでしょう)。
