Emacs EasyPGメモ

EasyPGはGnuPGのEmacs用フロントエンドです。Emacs23以降ならEasyPGはインストールされていますが、利用にはGnuPGがシステムにインストールされている必要があります。

有効化

init.elに以下の設定を記述することで有効化されます。

(require 'epg)

※2013-06-01追記
もしかしたら記述無しで動作するかもしれませんね(未検証)

gpgファイル

拡張子gpgのファイルを作成する事で暗号化できます。

例)
C-x C-f secret.gpg

gpgファイルの初回保存時に、公開鍵を選択するダイアログが表示されます。暗号化に使用する公開鍵をmでマークして、[OK]ボタン(?)をRETするとファイルが暗号化されます。

暗号化されたgpgファイルを開く場合、GnuPGの鍵束に秘密鍵があればパスフレーズを入力を要求するダイアログが表示されますので、パスフレーズを入力してください。鍵束に秘密鍵がなければエラーとなります。

※公開鍵や秘密鍵がひとつしか登録されていない場合、鍵を選択するダイアログは表示されないかもしれません。面倒くさいので確認していませんが……。

ファイルに対しての操作

既に存在するファイルに対して処理を行う場合は、以下のコマンドを実行してください。

操作 コマンド
暗号化 M-x epa-encrypt-file
復号化 M-x epa-decrypt-file
署名 M-x epa-sign-file
検証 M-x epa-verifye-file

リージョンに対しての操作

バッファのリージョンに対しても暗号化できます。テキストを選択の後に以下のコマンドを実行してください。

操作 コマンド
暗号化 M-x epa-encrypt-region
復号化 M-x epa-decrypt-region
署名 M-x epa-sign-region
検証 M-x epa-verify-region

gpgコマンド

EasyPGのコマンドではありませんが、参考までにgpgの主なコマンドを挙げます。[ ID ]はオプションで、鍵IDを指定する事も出来ます。

暗号化(署名つき)
% gpg -as -r [ ID ] -e filename

復号化
% gpg -d filename > filename

公開鍵一覧
% gpg --list-key [ ID ]

秘密鍵一覧
% gpg --list-secret-key [ ID ]

公開鍵への署名一覧
% gpg --list-sig [ ID ]

フィンガープリントの一覧
% gpg --fingerprint [ ID ]

公開鍵のインポート(公開鍵pub.keyファイルをインポート)
% gpg --import pub.key

秘密鍵のインポート(秘密鍵sec.keyファイルをインポート)
% gpg --import --allow-secret-key-import sec.key

公開鍵のエクスポート(ASCII形式)
% gpg -a --export > pub.key

秘密鍵のエクスポート(ASCII形式)
% gpg -a --export [ ID ] > sec.key

公開鍵への署名
% gpg --edit-key [ ID ]
Command> sign

公開鍵の信頼度設定
% gpg --edit-key [ ID ]
Command> trust