gnupgを使って署名を作成する方法

Vine Evo

gnupgを使って署名を作成する

ProEvo / Vine Evo / gnupgを使って署名を作成する

gnupgを使って署名を作成する方法


1. gnupgについて

1.1 gnupgとは何か?

gnupg (GNU Privacy Guard)とは、PGPコンパチの暗号化ソフトウェアです。 gnupgは、DESなどの暗号アルゴリズムを用いて秘密鍵・公開鍵のペアを作成します。 RPMなどのパッケージを配布するときにgnupgを使ってサインすることで、パッケージがオリジナルのパッケージと同じかどうかであることを確認できるようになります。

1.2 gnupgを手に入れる

VineLinuxではrpmパッケージでgnupgが提供されています。
aptが使える場合は、すでにインストールされています。新たにインストールする必要はありません。

2. gnupgを使う

2.1 gnupgのセットアップ

最初にgnupgを起動します。 コマンドラインで次のように入力します。

[atsushifx@agartha tmp]$ gpg
gpg: 警告: 剣呑なメモリーを使用しています!
gpg: 詳細はhttp://www.gnupg.org/faq.htmlをご覧ください
gpg: 鍵輪「/home/atsushifx/.gnupg/secring.gpg」ができました
gpg: 鍵輪「/home/atsushifx/.gnupg/pubring.gpg」ができました
gpg: 開始します。メッセージをタイプしてください ...

以上のようなメッセージが出れば正常に動いています。
Ctrl+Cキーを押してgpgを止めてください。

2.2 キーを作成する

次の手順で暗号キーを作成します。

  1. gpg --gen-key
    
    gpg (GnuPG) 1.2.4; Copyright (C) 2003 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: 警告: 剣呑なメモリーを使用しています!
    gpg: 詳細はhttp://www.gnupg.org/faq.htmlをご覧ください
    すきな鍵の種類を選択してください:
    	 (1) DSAとElGamal (既定)
    	 (2) DSA (署名のみ)
    	 (4) RSA (署名のみ)
    どれにしますか?
    
    DSA鍵対は1024ビットになります。
    新しいELG-E鍵対を生成します。
    						 最小の鍵長は  768 ビット
    						 既定の鍵長は 1024 ビット
    				 最大の推奨鍵長は 2048 ビット
    どの鍵長にしますか? (1024) 2048
    
    要求された鍵長は2048ビット
    鍵の有効期限を決めてください。
    				 0 = 無期限
    			<n>  = 有効期限 n 日間
    			<n>w = 有効期限 n 週間
    			<n>m = 有効期限 n か月間
    			<n>y = 有効期限 n 年間
    鍵の有効期間は? (0)
    
    Keyは無期限です
    これでいいですか (y/n)? y
    
    あなたの鍵を同定するためにユーザーIDが必要です。
    このソフトは本名、コメント、電子メール・アドレスから
    次の書式でユーザーIDを構成します:
    		"Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>"
    
    本名: Furukawa Atsushi
    
    電子メール・アドレス: atsushifx@aglabo.com
    
    コメント: atsushifx
    
    次のユーザーIDを選択しました:
    		"Furukawa Atsushi (atsushifx) <atsushifx@aglabo.com>"
    
    名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? o
    
    パスフレーズを入力: ********
    パスフレーズを再入力: ********
    
    今から長い乱数を生成します。キーボードを打つとか、マウスを動かす
    とか、ディスクにアクセスするとかの他のことをすると、乱数生成子で
    乱雑さの大きないい乱数を生成しやすくなるので、お勧めします。
    +++++..+++++++++++++++++++++++++...+++++++++++++++.++++++++++++++++++++.++++++++++++++++++++++++++++++++++++++++..+++++++++++++++...++++++++++..+++++>+++++.......................f.j.kl.a.j.kl.d...j.f.ad..f.j.a.f...f.j...............................e......oj.o.e..j.i..rj.ioe..rj..iqr.i.ow....0....q2u.34.9..5. .....j.o.f ..ewq9.. .5.9q.....fa..f.j.. ad.k.s..- ..q...4t...e.........a09.e..f+ e+q++er+.++++++++++.++++++++++++++++++++.+++++..++++++++++.+ +++++++++q+++++++++++++++r++++++++++++++++++++.+++++++++e+.9.+++++.+++++++++++++++.++++++++++++++++++++.+++++>++++++++++.>+++++<+++++>+++++<...+++++...........<.+++++..a.fsa. df.d.fd.>..+++++.aefe.e..jlkj.90.j.i.as.das.e.e.rf.....>+++++..........<+++++.+++++^^^
    a
    gpg: /home/atsushifx/.gnupg/trustdb.gpg: 信用データベースができました
    公開鍵と秘密鍵を作り、署名しました。
    絶対的に信用した鍵として記録しました。
    
    pub  1024D/D3E6AA61 2004-06-12 Furukawa Atsushi (atsushifx) <atsushifx@aglabo.com>
    								指紋 = C4A8 FF73 A300 7F20 77D2  9F46 1C6B 87A7 D3E6 AA61
    sub  2048g/39544C71 2004-06-12

2.3 署名を作成する

次の手順で、署名を作成します。

  1. gpg -o atsushifx.pub -a --export atsushifx
    gpg: 警告: 剣呑なメモリーを使用しています!
    gpg: 詳細はhttp://www.gnupg.org/faq.htmlをご覧ください

これで署名ファイルatsushifx.pubができます。 署名は次のようになります。

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v1.2.4 (GNU/Linux)

mQGiBEDKoLYRBAChrbZd9lU1Zda0O6cAhP4u3lgmWJrsmopzYz2rBdSJ5qNGF2At
bw3EHYQ/VxO9azdqkeNukNvGHRwd6pCngCD4F+k1CU7wLcKdQ8k05OA1NUJwGPem
/MKJ7XEgttlxArpu/1bcxziOKT+3U8jJLZITxsI8kej45nhWt+yv6wIq8wCg+Jl8
vzV/QW9Ib2oLtmqFw6gKuJkD/jtOZNQ8n4hvZqy4W4kOji1g4A8NQ+PiLORDyswt
VJzl/KbYkV8h2MxcO5oPE+9kipSQ1W4KnmUph/YYysO9Q0yuEwpD/IFHHbkICZ0J
D2L9oBEUEZYBJKzYHPCfMOhs/T2VsKvxLrhoaicggjNtNiQA4ZrtjDMRgucfw7tv
3BcLA/98aJHatteKR+XLWQzg2UCGkJ2YSrXDjUZ2i5ukC9RXmSSJrcurx0S1I8hk
OMpaGPsFTSXPFMnNA5ldzCAYOei/9F0XHh4UGh65VGoO60DNoi29tsM4NC/M/cUx
DL4zNWIqDsbBgzvu1tPnBIacARKDv9AJcKokfTRRsDuF+gWy7bQzRnVydWthd2Eg
QXRzdXNoaSAoYXRzdXNoaWZ4KSA8YXRzdXNoaWZ4QGFnbGFiby5jb20+iF4EExEC
AB4FAkDKoLYCGwMGCwkIBwMCAxUCAwMWAgECHgECF4AACgkQHGuHp9PmqmGV8ACg
uX//Zx8kkFOEFu5/s0fbQttH2eQAn22nuPvxFLmtvXqbdO49PfAqfX1WuQINBEDK
oM0QCADrM7nzBDfQWj1BAT/Ony6t9BcO7mmh/YXgp2sV64QXf8huwXkqpi6xjcEV
emGoCMvJVFsJBXAgdtM3dexOFaDuF1oKUt+4AlQTNEboQ+MCcc33yk0i1iofHezt
nwf1Q4Z0iIHKIawSEFTJ20higMI9NA0BmAEdvcRVKlPe8OQeGlgjeV5GD/oYIY3p
pLP4VGBLfSm3VN51s0zjUGAEnu8ObsWc7u8hRtWcSoEoJN5hvI0wxiHPytwjv3JG
qXVlgYQxuRQhWpyEiuFU95Px91YrGS6q2trZI313/x9iqTFLN3CDmY8sHvFkLheR
SF210NDCPRgLSM8m7gTFgMnLDzWXAAMFB/sHQH92nK119gghshRI4EWpPgGGwbWt
BWQ+mlnb43kLg78EuXrv57tf6WEsQnO+5EqMwUVVxlecjpOKkOPhfTeeGQjcIOyt
yItNw/caz9aZfM3kqZEkwrW6go3xBZWeDpGRFg7O6HlzSM7F9M3wu0mas88zmvC5
lcC/hjSWOFdsnAEZNj+Gh7ylMjsSguBrgOFBwj1cxIeWePXLVoJ+mcKvgEiS86oc
MZUrCkTD0rQViAEhhiwmZw9gyeagfMxAy2bSbaeo7jbSQUe54GJZ+3bL+L4wFKs7
+1vSqgw0DXVVdadXS2FN+GtGW1dFNatB7O8wzseP1v3J0aiUPJfk+G2BiEkEGBEC
AAkFAkDKoM0CGwwACgkQHGuHp9PmqmG1pACdEkrR604QU0NscQxMQgsC0SRrCuwA
oIIg+0PXJOaIUUIyWPSoQaIcy+/D
=x1U9
-----END PGP PUBLIC KEY BLOCK-----

以上で署名の作成は終了です。
なおFingerPrintはつぎのようになります。

pub  1024D/D3E6AA61 2004-06-12 Furukawa Atsushi (atsushifx) <atsushifx@aglabo.com>
								指紋 = C4A8 FF73 A300 7F20 77D2  9F46 1C6B 87A7 D3E6 AA61
sub  2048g/39544C71 2004-06-12

3. 参考資料

3.1 Webサイト

以下のサイトが参考になります。

gnupg公式Webサイト
gnupgの公式Webサイト。最新版がダウンロードできます。
GNU Privacy Guard講座
gnupgについて日本語で説明しているサイト。

$Revision: 66 $
Last update: $Date: 2007-05-09 07:55:14 +0900 (水, 09 5月 2007) $