しゃある通信

#30-01 [Ubuntu]Ubuntu ServerでPGP署名をする

概要: パッケージ作成のときに署名を何度もするのが面倒なので自動化したい。

備忘録としての署名の作成、あとはパスフレーズを自動入力するための設定とか。

* インストール

自動化のために gpg-agent を使いたいので、gnupg ではなく gnupg2 を入れる。

なぜか gnupg-agent の Depends の順番が pinentry-gtk2 | pinentry-curses | pinentry なので 何も入れてない状態だと pinentry-gtk2 が インストールされてしまってディスクの無駄に…。 なので次の順番で入れる。

$ sudo apt-get install pinentry-curses gnupg2 gnupg-agent
通常は gpg と打つだろうから、以下の処理をしておく。
$ cd /usr/bin
$ sudo ln -s gpg2 gpg

* 公開鍵と秘密鍵の作成

$ gpg --gen-key
鍵の種類はデフォルト、4096bitにして期限は無期限で作成。けっこう時間がかかる。 鍵ペアが作成されたら確認。
$ gpg --list-key
/home/sharl/.gnupg/pubring.gpg
------------------------------
pub   4096R/7222030A 2011-07-26
uid                  Sharl Morlaroll <sharl@hauN.org>
sub   4096R/6E7133FF 2011-07-26
公開鍵を公開鍵サーバに送る。
$ gpg --send-keys 7222030A
gpg: sending key 7222030A to hkp server keys.gnupg.net
登録されたか確認。
$ gpg --search-keys sharl
gpg: searching for "sharl" from hkp server keys.gnupg.net
(1)     Xia Zheng Xin (From China) <xzx@xiazhengxin.name>
        Sharl Jimh Tsin (From China) <amoiz.shine@gmail.com>
        Xiao Xin (From China) <x@taiwan-is-a-part-of-china.org>
        Xiao Xin (From China PRC) <x@tibet-is-a-part-of-china.org>
        Sharl.Jimh.Tsin (From China *Obviously Taiwan INCLUDED*) <amoiz.shine@
          2048 bit RSA key 238AC4E3, created: 2011-09-17
(2)     Sharl Morlaroll <sharl@hauN.org>
          4096 bit RSA key 7222030A, created: 2011-07-26
(3)     Roman Narozhny <sharl@df.ru>
          1024 bit DSA key F0FD84A7, created: 1998-11-11
Keys 1-3 of 3 for "sharl".  Enter number(s), N)ext, or Q)uit > 2
gpg: requesting key 7222030A from hkp server keys.gnupg.net
gpg: key 7222030A: "Sharl Morlaroll <sharl@hauN.org>" not changed
gpg: Total number processed: 1
gpg:              unchanged: 1
おっと、ほかにも sharl さんいる(笑)

* パスフレーズを自動入力するために

サーバ起動時に gpg-agent を使えるように crontab に書いておきますか。

@reboot /usr/bin/gpg-agent --daemon --write-env-file "${HOME}/.gpg-agent-info"
んで ~/.profile に次のように書いておく。
if [ -f "${HOME}/.gpg-agent-info" ]; then
	source "${HOME}/.gpg-agent-info"
	export GPG_AGENT_INFO
fi
実際に署名をしようとすると出てくる pinentry-curses がうざい…あのダイアログなんとかならんものか。これは今後の研究課題にしよう。

これでパッケージ作成の時の署名が楽になった。



マクロミルへ登録

© 2012 Kazuya 'Sharl' Masuda
(C)Willoo Entertainment Inc. (C)Konami Digital Entertainment 株式会社ウィローエンターテイメント及び株式会社コナミデジタルエンタテインメントの著作権を侵害する行為は禁止されています。 0.004876 cached