ここではGnuPG の鍵を持っていない人が鍵を作る方法を説明します。4096bit の鍵を作る説明となっています。
使っている OS に GnuPG がインストールされていることを前提に説明します。
Debian / Ubuntu 環境では、dpkg -l gnupg を実行することによって、インストールされているか、確認することができます。
$ dpkg -l gnupg Desired=Unknown/Install/Remove/Purge/Hold | Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend |/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad) ||/ 名前 バージョン 説明 +++-===================-===================-====================================================== ii gnupg 1.4.10-4 GNU privacy guard - a free PGP replacement
インストールされていない方は、お使いの環境/ディストリビューションに合わせてインストールしてください。 Debian / Ubuntu の場合には以下の方法でインストールすることができます。
$ sudo apt-get install gnupg
また、以下の説明では、gnupg 1.4.10 を使った説明となります。
$ gpg --gen-key gpg (GnuPG) 1.4.10; Copyright (C) 2008 Free Software Foundation, Inc. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. gpg: ディレクトリー「/home/hoge/.gnupg」ができました gpg: 新しい構成ファイル「/home/hoge/.gnupg/gpg.conf」ができました gpg: 警告: 「/home/hoge/.gnupg/gpg.conf」のオプションは起動している間、有効になりません gpg: 鍵輪「/home/hoge/.gnupg/secring.gpg」ができました gpg: 鍵輪「/home/hoge/.gnupg/pubring.gpg」ができました2. 鍵の種類を選択します。 1 を選択するとよいでしょう。
ご希望の鍵の種類を選択してください: (1) RSA and RSA (default) (2) DSA and Elgamal (3) DSA (署名のみ) (4) RSA (署名のみ) 選択は? 13. 鍵長を選択します。 4096 を入力してください。
RSA keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 4096 要求された鍵長は4096ビット4. 鍵の有効期限を指定します。環境に合わせて有効期限を選択してください。
定期的に更新したい人は1年を、特に有効期限を考えていない人は無期限でよいでしょう。
以下では「1y」 を入力することによって有効期限を1年に設定しています。また、この有効期限は後で変更可能です。
鍵の有効期限を指定してください。 0 = 鍵は無期限 <n> = 鍵は n 日間で満了 <n>w = 鍵は n 週間で満了 <n>m = 鍵は n か月間で満了 <n>y = 鍵は n 年間で満了 鍵の有効期間は? (0)1y Key expires at 2014年10月16日 09時13分45秒 JST5. 特に問題がなければ、y を選択します。
これで正しいですか? (y/N) y6. 名前、メールアドレス、コメントを入力します。
あなたの鍵を同定するためにユーザーIDが必要です。 このソフトは本名、コメント、電子メール・アドレスから 次の書式でユーザーIDを構成します: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" 本名: Taro Yamada 電子メール・アドレス: yamada@example.org コメント: 次のユーザーIDを選択しました: “Taro Yamada <yamada@example.org>”7. 6. で入力したユーザIDで鍵を作成する場合は、o を入力します。
名前やメールアドレス等を変更したい場合には、各項目に対応したキーを入力してください。
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? o8. パスフレーズを入力します。
秘密鍵を保護するためにパスフレーズが必要です。 2回パスフレーズを求められるので、入力してください。 また、パスフレーズは簡単に推測されないものにする必要があります。
9. 環境によっては、以下のようなメッセージが出力されます。キーボードやマウスを動かして乱数を発生させてください。
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で 乱雑さの大きないい乱数を生成しやすくなるので、お勧めいたします。10. 以下のようなメッセージが出ると、GnuPG 鍵の作成は完了です。
gpg: /home/hoge/.gnupg/trustdb.gpg: 信用データベースができました gpg: 鍵28B7FE92を絶対的に信用するよう記録しました 公開鍵と秘密鍵を作成し、署名しました。 gpg: 信用データベースの検査 gpg: 最小の「ある程度の信用」3、最小の「全面的信用」1、PGP信用モデル gpg: 深さ: 0 有効性: 1 署名: 0 信用: 0-, 0q, 0n, 0m, 0f, 1u gpg: 次回の信用データベース検査は、2014-10-16です pub 4096R/28B7FE92 2013-10-16 [満了: 2014-10-16] 指紋 = D481 0994 6ABA 2BA1 7EDE 8AC7 1851 39BE 28B7 FE92 uid Taro Yamada <yamada@example.org> sub 4096R/AFEA4493 2013-10-16 [満了: 2014-10-16] 11. 廃棄証明書を作成します。
秘密鍵が盗難にあったり(秘密鍵が盗まれる等)、パスフレーズを忘れてしまったりしたときに備えて、 廃棄証明書を作成する必要があります。 作成するには以下のコマンドを実行します。実行すると、ホームディレクトリに revkey.txt ファイルが作成されます。 作成された廃棄証明書は印刷するか、CD-R 等に書き込み、物理的に安全な場所に保存します。
$ gpg --gen-revoke your_user_id (上の例では28B7FE92)
廃棄証明書は gpg コマンドで読み込んだ時点で対象の鍵が廃棄されます。作成だけでは廃棄されないことに注意してください。
12. キーサーバに公開鍵を登録します。
作成した GnuPG の公開鍵をインターネット上にあるキーサーバに登録します。登録することによって、インターネットがつながる場所からキーサーバを介し、取得したい鍵のユーザ ID やキー ID を指定することによって公開鍵を取得できるようになります。ユーザ ID やキー ID だけでは、なりすまし等ができるので、取得した鍵の指紋を確認する必要があります。
$ gpg --keyserver pgp.mit.edu --send-keys your_user_id (上の例では28B7FE92)
13. 最後に ~/.gnupg/gpg.conf ファイルの末尾に以下の行を追加します。
personal-digest-preferences SHA256 cert-digest-algo SHA256 default-preference-list SHA512 SHA384 SHA256 SHA224 AES256 AES192 AES CAST5 ZLIB BZIP2 ZIP Uncompresse