前回の記事ではcaffっぽいツールを作りましたが、やはりcaffの動きを見ないことには「これでいいのかな?」という気持ちが残りました。
そこでテスト環境にcaffをセットアップして使ってみたため、その記録も残しておきます。
■テスト環境
実際には この記事 の Chef のレシピを以下の通りに変更して、Vagrant upしたものです。
ubuntu-desktopはGUIを、ssmtpはローカルのSMTPとして使うため、Thunderbirdは実際にメールを受信してみるためにセットアップしています。
# # Cookbook Name:: piyo # Recipe:: default # # Copyright 2013, YOUR_COMPANY_NAME # # All rights reserved - Do Not Redistribute # # 「update package index」の処理を記載 execute "update package index" do command "apt-get update" ignore_failure true action :nothing end.run_action(:run) # update が終わったことをログ出力 log "done update" # 「ubuntu-desktop」パッケージをインストールする package "ubuntu-desktop" do action :install end package "gnupg" do action :install end package "signing-party" do action :install end package "ssmtp" do action :install end package "thunderbird" do action :install end # ubuntu-desktop のインストールが終わったことをログ出力 log "done install"
■caffの設定
以下の記事を参考に、caffからgmailで送信する設定を行いました。
.caffrc の設定
ターミナルで caff と入力した後に作成される .caffrc を以下の通りに編集しました。
- 「$CONFIG{'email'} = 'hoge@example.com';」のように、メールアドレスを設定
- 「$CONFIG{'keyid'} = [ qw{hogehogefugafuga} ];」のように、自分の公開鍵IDの後ろ16文字をセット
通常目にする8文字を設定したところ、エラーが出ました。.caffrcにも注意書きがありますね。
caffで送信する際に警告が出る(でもメールは送信できている)のを防ぐために、以下を参考にして変更しました。
lenny caffの設定 - 間違いだらけの備忘録
ファイルの全文はこちらになります。
~/.caff/gnupghome/gpg.conf ファイルの作成
元記事とは異なる点として、SHA512にしました。
personal-digest-preferences SHA512 cert-digest-algo SHA512
パーミッション変更は元記事通りに行いました。
sSMTPの設定
以下のサイトの通りに設定しました。
ファイルの全文はこちらになります。
■caffの実行
VM上でgen-keyして鍵を生成した後、自分の公開鍵IDへの署名でcaffを使ってみたところ、無事に実行できました。
VM上では鍵は一つしか生成しなかったため、以下で自分の公開鍵に署名・送信できました。(hogehogeはメールの送信先である、自分の公開鍵ID)
caff hogehoge
あとはcaffやGPGまわりで調べたことを以下にまとめておきます。
■GPG関連
GPGのコマンドやオプションについて
以下のページにコマンドやオプションがまとまっていました。
HowToはこちら。
チュートリアルは以下がまとまっていました。
日本語の場合は、以下が実行結果も掲載されていたので、分かりやすかったです。
なお、caffのログを見ていたところ「gpg --edit <鍵ID> sign」みたいなログが出ていたので、手元のGpg4winで試してみたところ --edit-key後のsignと同じ動作でした。
そのことから、 --editを使えば --edit-key後の処理が一行でできそうだと分かり、checkなどが楽になりそうです。
# 例 # 鍵のチェック (「quit」がないと、「gpg >」と表示され --edit-key の中に残るような感じになる) gpg --edit <鍵ID> check quit # 鍵に署名をして保存(署名しますか?の確認は表示される) gpg --edit <鍵ID> sign save
また、「gpg --batch --yes --sign-key <鍵ID>」とbatchモードですべてyesを選択して署名しようとしたところ、
- 鍵IDのuidが一つの場合: 何も表示されずに署名できた
- 鍵IDのuidが複数の場合: 「gpg: Sorry, we are in batchmode - can't get input」と表示され、署名できなかった
という違いがありました。
fingerprintやtrustの見方
■caff関連
また、caffのオプションについては、以下にまとまっていました。
■キーサインパーティ関連
キーサインパーティについての記載があったページを載せておきます。
■その他
すでに絶版ですが、PGPに関する本がオライリーから出ていたようです。
- 作者: シムソンガーフィンケル,Simson Garfinkel,ユニテック
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 1996/04
- メディア: 単行本
- クリック: 20回
- この商品を含むブログ (14件) を見る