3.5.3. コマンドラインを用いた GPG 鍵の生成

  1. 次のシェルコマンドを使用します。
    ~]$ gpg2 --gen-key
    このコマンドは、公開鍵と秘密鍵で構成される鍵ペアを生成します。受信側の人々は、ユーザーからの通信の認証や暗号化解除を行うためにこのユーザーの公開鍵を使用します。そのため、とりわけメーリングリストのように、送信者からの認証済みの通信を受け取ることを希望すると思われる人々に向けて、できる限り幅広く公開鍵を配布してください。
  2. 一連のプロンプトにしたがってプロセスを進めます。デフォルト値を割り当てる場合は Enter キーを押します。最初のプロンプトは、使用を希望する鍵の種類を選択するよう尋ねます。
    Please select what kind of key you want:
    (1) RSA and RSA (default)
    (2) DSA and Elgamal
    (3) DSA (sign only)
    (4) RSA (sign only)
    Your selection?
    
    ほとんど多くの場合、デフォルトが適切な選択になります。RSA/RSA 鍵を選択すると、通信に署名するだけでなく、ファイルを暗号化することができます。
  3. 鍵のサイズを選択します。
    RSA keys may be between 1024 and 4096 bits long.
    What keysize do you want? (2048)
    
    ここでも、デフォルトの 2048 はほとんどすべてのユーザーに適しており、これは極めて強いレベルのセキュリティになります。
  4. 鍵の有効期限を選択します。デフォルトの none を使用するのではなく、失効日を選択する方がよいでしょう。例えば、鍵にある電子メールアドレスが無効になると、失効日が設定されているために、他の人々はその公開鍵を使用するのを止めるように通知されます。
    Please specify how long the key should be valid.
    0 = key does not expire
    d = key expires in n days
    w = key expires in n weeks
    m = key expires in n months
    y = key expires in n years
    key is valid for? (0)
    
    例えば、1y の値を入力すると、鍵の有効期間は 1 年間になります (鍵の生成後にこの失効日を変更することができます。)
  5. gpg2 プログラムが署名情報を尋ねる前に、以下のプロンプトが表示されます。
    Is this correct (y/N)?
    プロセスを終了するには y を入力します。
  6. GPG 鍵用に氏名と電子メールアドレスを入力します。このプロセスは、ユーザーを個人として認証するためのものです。このため、本当の名前を入力してください。偽の電子メールアドレスを選択すると、他の人があなたの公開鍵を見つけにくくなります。これにより、通信の認証が困難になります。例えば、メーリングリストの自己紹介にこの GPG 鍵を使用する場合、そのリストで使用している電子メールアドレスを入力します。
    コメントフィールドには、エイリアスやその他の情報を記載します。(一部の人は、目的別に複数の鍵を使用しており、「オフィス」または「オープンソースプロジェクト」などのコメントを付けてそれぞれの鍵を識別しています。)
  7. すべてのエントリが正しければ、確認プロンプトで O と入力して続行するか、または問題がある場合はそれを修正するために他のオプションを使用します。最後に、秘密鍵のパスフレーズを入力します。gpg2 プログラムは、入力エラーがないことを確認するためにパスフレーズを 2 回入力するように指示します。
  8. 最後に、gpg2 はランダムなデータを生成して鍵を可能な限り一意なものにします。このプロセスをスピードアップするには、この手順の実行中にマウスを動かし、ランダムなキーを入力するか、またはシステム上で他のタスクを実行します。この手順が完了すると、鍵が完成して使用可能な状態になります。
    	  pub  1024D/1B2AFA1C 2005-03-31 John Q. Doe <jqdoe@example.com>
    	  Key fingerprint = 117C FE83 22EA B843 3E86  6486 4320 545E 1B2A FA1C
    	  sub  1024g/CEA4B22E 2005-03-31 [expires: 2006-03-31]
    
  9. 鍵のフィンガープリントは、あなたの鍵の「署名」の短縮版です。これを使って、他の人々があなたの実際の公開鍵を (改ざんされない状態で) 受け取ったことを確認することができます。このフィンガープリントを書き留めておく必要はありません。フィンガープリントを表示するには、以下のコマンドをあなたの電子メールアドレスに置き換えて使用します。
    ~]$ gpg2 --fingerprint jqdoe@example.com
    「GPG 鍵 の ID」は、公開鍵を識別する 16 進法の 8 文字で構成されます。上記の例では、GPG 鍵 ID は 1B2AFA1C です。多くの場合、鍵 ID を求められる際には、0x6789ABCD などのように、鍵 ID の前に 0x を付けます。

警告

パスフレーズを忘れると、鍵を使うことができなくなり、その鍵で暗号化されたすべてのデータが失われます。