[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
PGG は「PGP 実装のスキーム (枠組)」という考えを導入します。以後、「スキー ム (scheme)」と表記します。この用語は luna object system での singleton object に由来します。
PGG は PGP の機能にアクセスすると同時にそれを開発するために設計されたの で、その構成は、相互運用性だけでなく拡張性も考慮する必要がありました。こ の章では、PGG のバックエンドをどのように記述するかを探しながら、PGG がど のようにつくられているかを探検してみましょう。
4.1 初期化 | ||
4.2 バックエンドのメソッド | ||
4.3 出力を得る |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
スキームは、使う前に初期化されなければなりません。ただ一つのスキームを使 うことを保証するのが良いでしょう。
以下のコードは ‘pgg-gpg.el’ からの抜き書きです。あ
る pgg-gpg
のスキームがいったん初期化されると、それ
は pgg-scheme-gpg-instance
変数に保存され、以後、再利用されます。
(defvar pgg-scheme-gpg-instance nil) (defun pgg-make-scheme-gpg () (or pgg-scheme-gpg-instance (setq pgg-scheme-gpg-instance (luna-make-entity 'pgg-scheme-gpg)))) |
関数の名前は pgg-make-scheme-
の後ろにバックエンド名を付加したも
のにしなければなりません。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
各バックエンドには、これらのメソッドが存在しなければなりません。メソッド の実行結果のステータスを知らせなければならないので、メソッドの出力は特別 なバッファーに保存されます (see section 出力を得る)。
string に関連付けられた鍵を返します。三番目のオプション引
数 type が非-nil
だったら、秘密の鍵束から検索します。
start と end の間の領域を recipients 宛に送るものとし
て暗号化します。オプション引数 sign が nil
でなかったら、署
名と暗号化を同時に行ないます。暗号化に成功すると t
を、失敗する
と nil
を返します。
現在の start と end の間の領域を、共通鍵暗号 (symmetric
cipher) とパスフレーズで暗号化します。暗号化に成功すると t
を返し、
そうでなければ nil
を返します。この機能は現在 GnuPG だけで実装さ
れています。
start と end の間の領域を解読します。解読に成功する
と t
を、失敗すると nil
を返します。
start と end の間のテキストに署名します。三番目のオプション
引数 cleartext が nil
ではない場合、分離された署名を作りま
せん。署名に成功すると t
を、失敗すると nil
を返します。
start と end の間の領域にある署名を検証します。三番目のオプ
ション引数 signature が nil
でなかったら、その引数は現在の
領域の分離された署名のファイルとして取り扱われます。署名が正しく検証され
た場合は t
を、失敗すると nil
を返します。
ユーザーの公開鍵を取得して、それを ASCII 装甲の形式で挿入します。成功す
ると t
を、失敗すると nil
を返します。
start と end の間の領域にある公開鍵を集め、ユーザーの鍵
束 (keyring) に追加します。成功すると t
を、失敗する
と nil
を返します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
バックエンドメソッド (see section バックエンドのメソッド) の出力は特別なバッファー に格納されます。したがって、これらのメソッドは実行結果を伝える必要があり ます。
PGP コマンド実行時の標準エラー出力は、このバッファーに格納されます。
PGP コマンド実行時の標準出力は、このバッファーに格納されます。
PGP コマンド実行時のその他の結果の情報は、このバッファーに格納されます。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.