wiki:HowToCreateGPGKey

Version 5 (modified by daisuke, 15 years ago) (diff)

--

GnuPG 公開鍵

現在、VinePlus?VineSeed へパッケージをアップロードする際は登録済みの GnuPG 鍵で 署名を行ったもののみ受け入れています。

まだ GnuPG 鍵をもっていない場合は以下の手順で鍵を生成して、アスキー形式の公開鍵 を Vine@… 宛に送って vine-keyring に登録してください。

鍵を検証するために、なんらかの別の手段で公開鍵と鍵指紋が入手できるようにしておいて ください。

GnuPG 鍵対の生成

gpg --gen-keyで生成します。

$ gpg --gen-key

gpg (GnuPG) 1.4.6; 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.

すきな鍵の種類を選択してください:
   (1) DSAとElGamal (既定)
   (2) DSA (署名のみ)
   (5) RSA (署名のみ)
どれにしますか? 1

ここでは既定の 1 を選択してください。

DSA鍵対は1024ビットになります。
ELG-E keys may be between 1024 and 4096 bits long.
どの鍵長にしますか? (2048) 

ここでも既定の 2048 以上を推奨します。通常は既定でかまいません。

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

ここでは今作成している鍵の有効期限を設定します。通常は永久に有効となる既定値 0 で 構いません。

鍵は無期限です
これでいいですか? (y/N) y

ここまで問題なければ y で続行してください。

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

本名: Your Name
電子メール・アドレス: name@example.com
コメント: 

鍵のユーザIDとなる本名、電子メール・アドレス、コメントを聞かれますので、 答えてください。半角英数です。メールアドレスは有効なものを入力してください。 コメントは不要であれば入力しなくても構いません。

次のユーザIDを選択しました:
    "Your Name <name@example.com>"
名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O

提示されたもので問題なければ "O" で続行してください。

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

パスフレーズを聞かれますので、この鍵に対するパスフレーズを設定してください。 パスワードとは違い長めの文章が望まれます。 入力後、表示のとおり乱数を生成しますので、しばらく時間がかかります。

gpg: このセッションでgpgエージェントは無効です
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。
+++++++++++++++.+++++.+++++++++++++++++++++++++++++++++++.+++++++++++(以下省略)
今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。
++++++++++++++++++++.++++++++++++++++++++++++++++++..++++++++++++++++(以下省略)
gpg: key 4BF0CEAC marked as ultimately trusted
公開鍵と秘密鍵を作り、署名しました。

gpg: 信用データベースの検査
gpg: 3 marginal(s) needed, 1 complete(s) needed, classic trust model
gpg: depth: 0  valid:   3  signed:  24  trust: 0-, 0q, 0n, 0m, 0f, 3u
gpg: depth: 1  valid:  24  signed:  47  trust: 20-, 0q, 0n, 0m, 4f, 0u
gpg: depth: 2  valid:  17  signed:  19  trust: 17-, 0q, 0n, 0m, 0f, 0u
pub   1024D/4BF0CEAC 2008-10-01
      Key fingerprint = 7307 7E27 C02A 4B3C 1062  E4B2 0C6D C326 4BF0 CEAC
uid                  Your Name <name@example.com>
sub   2048g/1FBBC15E 2008-10-01

以上で、GnuPG の鍵対が生成できました。

鍵束内の鍵一覧を表示

{{gpg --list-key}} で自分の持っている鍵束(keyring)を表示することができます。 この中には自分自身の公開鍵だけでなく、(登録してあれば)他人の公開鍵も含まれます。 鍵束は{{~/.gnupg/pubring.gpg}}に保存されています。

$ gpg --list-key
pub   1024D/4BF0CEAC 2008-10-01
uid                  Your Name <name@example.com>
sub   2048g/1FBBC15E 2008-10-01

鍵の Fingerprint (電子指紋) を表示

{{gpg --fingerprint <ユーザID|鍵ID>}} でそのユーザIDまたは鍵IDの fingerprint を 表示することができます。GnuPG 公開鍵のハッシュ値で、公開鍵の正当性をチェックする ために使用します。鍵ID は上の例では、0x4BF0CEACとなります。IDを指定しない 場合は鍵束内のすべての鍵のfingerprintが表示されます。

$ gpg --fingerprint 0x4BF0CEAC
pub   1024D/4BF0CEAC 2008-10-01
      Key fingerprint = 7307 7E27 C02A 4B3C 1062  E4B2 0C6D C326 4BF0 CEAC
uid                  Your Name <name@example.com>
sub   2048g/1FBBC15E 2008-10-01

公開鍵を export する。

公開鍵を渡すためには鍵束から特定の鍵だけ取り出す必要があります。通常は取扱いが しやすいように以下のようにアスキー形式でとりだします。

$ gpg -o pubkey.asc --export -a 0x4BF0CEAC
$ cat pubkey.asc
-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.4.6 (GNU/Linux)

mQGiBEjjIOgRBAC0gD6KZW83WTzj/m4MUrbrRALkgUr0jVIN1+NsipLFhgkT70vJ
Theqh7rwy0ujLecjp+5wY/uh/BfftkKylLiaERWxO8j8wBNa+337LZeRBqOEzndm
22P8m4rUrDSzj5i1It3+GhpYE0OC0HA5GyuzbLzLvLkBy4rrjGpUXbQU+wCg5fcE
S7jii059P25wnfFU53Lz+JcEAK4HaYHS4aZlFAUsKZCj9vzY+4a7m1MbOQhL4WcH
8DfFL7y/8EXzTIDVF8US8i+A48QkhSw58Jeg1LNhiuQYoqVKn9NtLembMyun93Af
yljph66CVagAG7iEoPgXr2Pe3a6Rb0rApVe6LSSUPQrZR29naS0d7mSOcLwwOkVO
Ll5UBACmbzil9apwPQ4/a+oSdQ8uGFRZYaJQvdn90f9o2tciSwh4mgtFEaArpgC/
jBGpMFV7/O1pDnGa21keow3ZsJW44aBTztYsvtJTA5byomrTRsScYndwerzREOhu
TXYhbCTyfaOyKlkMEsVNFR2Eree5kx7Y1+x7xkyCQd3HvXVxWLQcWW91ciBOYW1l
IDxuYW1lQGV4YW1wbGUuY29tPohgBBMRAgAgBQJI4yDoAhsDBgsJCAcDAgQVAggD
BBYCAwECHgECF4AACgkQDG3DJkvwzqy5QQCgjPtTdz4dZ5zCw92kVhNufhMlvmIA
nRfAASlaMZaGqwI/XfMzYPAoqd49uQINBEjjIO0QCADFEL2QwMQnH2eg1Fmerlvn
SgDqxs4cgWuxamlOheYLfXH80ee8comKtmVAlBM8BwKgYn4OqaC0gntVaVGLfOXB
FwGRYzVhRbhLYMljVvggGxkYmwOoccW/OGFVo1WG5tTOIdJSa/xe+d9RbAwE2gXL
fYTCEDhdODz13HlHxoiKf9SPO9ygiZ3QQRokNrXpkQY8JPfXuupJIRQT/YjkpjAQ
6UFCHZWzEhjOEY1N91/+GhDEUvbL43tm7p3iIncCRfumSzaYlo4Uj2Jv2mbdP1vV
KpTavtu4ITXA23s3U22ND1Qpx93bcLsc5XJolUuDVbW0MDjlbcM0lCBltBCtzCf3
AAMFCACv/H6Vn75vWJHWNyp04tXctDSgX8PVSyrrGaQ5WLzBKBKJRbY09mO2KHbx
Ys73tpwyYYM7XYwM2NDAw+buTLjbMl3ayg2pA4LjqNTNmrooS29f9BeP/PQ8Czes
3l9Fr0lZw0RuXAACCmEXlpSWM1SpV8buIY2nEe3l2FUOlqbNtmW6GSs8HxVoY6oy
g79RcQdr7yx+XVkJfHONWLK9Aowl9QkYfMzAVxSLbmo3Gfxc7q1H1mSarUK2SdS/
EDkY0dQclHefP1XN/fyTDsVjU8+MAvbYieqj/7rSlgVqAKw4qSXYXqPtIj0YhQyG
UIt2AxOB0YpEJ7bN6mIbbJQwdOvIiEkEGBECAAkFAkjjIO0CGwwACgkQDG3DJkvw
zqzrgwCeO8YaYOER+1uQoj8PdEiCQ7AGPj8AoNQYhMJkMIEapRHIFiCKHMumkNvY
=gs65
-----END PGP PUBLIC KEY BLOCK-----

その他

その他、鍵の管理、署名、暗号化などさまざまな機能があります。 別途紹介ページ等を参照してください。

参考