DebConf12 のキーサインパーティに参加した後、送られてきた署名付きの鍵をインポートする方法
キーサインパーティの後、お互いに ID を確認し合った相手から、署名付きの鍵が暗号化された状態でメールで届きました。その鍵を復号してインポートし、キーサーバにアップロードしていくまでの手順を書きます(Gmail なので最初の手順が多少手間がかかっています)。
手順
最初に、メール本文の "-----BEGIN PGP MESSAGE-----" の行から "-----END PGP MESSAGE-----" の行までをすべてコピーして、適当なファイル名で保存します。ここでは filename とします。
暗号化されたメールを復号します。
$ gpg filename You need a passphrase to unlock the secret key for user: "Tatsuya Oiwa <tatsuyaoiw@gmail.com>" 4096-bit RSA key, ID 3C2D5D73, created 2012-07-05 (main key ID A0E6B4A1) gpg: gpg-agent is not available in this session gpg: encrypted with RSA key, ID 5FA62044 gpg: encrypted with 4096-bit RSA key, ID 3C2D5D73, created 2012-07-05 "Tatsuya Oiwa <tatsuyaoiw@gmail.com>" gpg: rene: unknown suffix
出力するファイル名を聞かれるので、適当に名前をつけます。
Enter new filename: filename.d
ファイルの中身を見ると、復号化されたメールの本文を読めるようになります。
$ view filename.d
さらに、Content-Disposition: attachment; filename="0xCC9D5AD3A0E6B4A1.1.signed-by-??????????????????.asc" の ??? の部分が相手の公開鍵を表しているので、これをキーサーバから取得して自分の鍵束に追加します。
$ gpg --recv-keys ?????????????????? gpg: requesting key ???????? from hkp server keys.gnupg.net gpg: key ????????: public key "Anonymous <anonymous@debian.org>" imported gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u gpg: Total number processed: 1 gpg: imported: 1 (RSA: 1)
そして、署名付きの鍵をインポートします。
$ gpg --import filename.d gpg: key A0E6B4A1: "Tatsuya Oiwa <tatsuyaoiw@gmail.com>" 1 new signature gpg: Total number processed: 1 gpg: new signatures: 1 gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
gpg --check-sigs で自分の鍵の署名を確認できます。
$ gpg --check-sigs /home/tatsuyaoiw/.gnupg/pubring.gpg ----------------------------------- pub 4096R/A0E6B4A1 2012-07-05 uid Tatsuya Oiwa <tatsuyaoiw@gmail.com> sig!3 A0E6B4A1 2012-07-05 Tatsuya Oiwa <tatsuyaoiw@gmail.com> sig! ???????? 2012-07-13 Anonymous <anonymous@debian.org> sub 4096R/3C2D5D73 2012-07-05 sig! A0E6B4A1 2012-07-05 Tatsuya Oiwa <tatsuyaoiw@gmail.com>
署名が追加されていることが確認できたら、鍵をキーサーバに登録して完了です。
$ gpg --keyserver pgp.mit.edu --send-keys A0E6B4A1 gpg: sending key A0E6B4A1 to hkp server pgp.mit.edu