Linux サーバ構築 ( Fedora Core5 ) - プログラム・パッケージ管理
rpmbuild ( rpmパッケージの作成 ) - 3.パッケージの署名
GPG Key pair を生成し、作成した rpm パッケージへの署名する方法です。
- GPG Key pair の生成
$ mkdir ~/.gnupg $ gpg --gen-key ご希望の鍵の種類を選択してください: (1) DSAとElgamal (既定) (2) DSA (署名のみ) (5) RSA (署名のみ) 選択は? 1 DSA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 要求された鍵長は2048ビット 鍵の有効期限を指定してください。 0 = 鍵は無期限
= 鍵は n 日間で満了 w = 鍵は n 週間で満了 m = 鍵は n か月間で満了 y = 鍵は n 年間で満了 鍵の有効期間は? (0) Key does not expire at all これで正しいですか? (y/N) y あなたの鍵を同定するためにユーザーIDが必要です。 このソフトは本名、コメント、電子メール・アドレスから 次の書式でユーザーIDを構成します: "Heinrich Heine (Der Dichter) <heinrichh@duesseldorf.de>" 本名: foo 電子メール・アドレス: foo@mydomain.com コメント: bar 次のユーザーIDを選択しました: “foo (bar) <foo@mydomain.com>” 名前(N)、コメント(C)、電子メール(E)の変更、またはOK(O)か終了(Q)? O 秘密鍵を保護するためにパスフレーズがいります。 パスフレーズを2回入力 - ユーザごとの rpm マクロ設定ファイルへ、GPG Key 情報を追加する。
~/.rpmmacros( 追加 )
%_signature gpg %_gpg_name foo (bar) <foo@mydomain.com>
- 作成した rpm パッケージへの署名
$ rpm --resign ~/rpmwrk/davfs2-1.0.2/RPMS/i386/davfs2-1.0.2-1s.i386.rpm パスフレーズの入力: ***** パスフレーズは正常です。 /home/foo/rpmwrk/davfs2-1.0.2/RPMS/i386/davfs2-1.0.2-1s.i386.rpm:
- 公開鍵を ASCII 形式でファイルにエクスポートする。
$ gpg --export -a foo > ~/.gnupg/RPM-GPG-KEY-foo
- ( rpm の署名の確認 )
root ユーザで公開鍵をインポートし、rpm -K コマンドで確認する。$ su - root # rpm --import /home/foo/.gnupg/RPM-GPG-KEY-foo # rpm -K /home/foo/rpmwrk/davfs2-1.0.2/RPMS/i386/davfs2-1.0.2-1s.i386.rpm /home/yasu/rpmwrk/davfs2-1.0.2/RPMS/i386/davfs2-1.0.2-1s.i386.rpm: (sha1) dsa sha1 md5 gpg OK
( 最終更新日時 : 2008/08/31 21:24:47 )