[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ネゴシエートされたセキュリティー層の伝送に使われる三つのデータの型として、 メカニズム、クライアント・パラメーター、および認証ステップがあります。
3.1 メカニズム | ||
3.2 クライアント | ||
3.3 ステップ |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
メカニズム (sasl-mechanism
オブジェクト) が、SASL 認証メカニ
ズムのドライバーのスキームです。
メカニズム名のリスト。
適切なメカニズムを取得します。
この関数は mechanisms と sasl-mechanisms
を比較して、適切
な sasl-mechanism
オブジェクトを返します。
(let ((sasl-mechanisms '("CRAM-MD5" "DIGEST-MD5"))) (setq mechanism (sasl-find-mechanism server-supported-mechanisms))) |
メカニズムの名前を文字列で返します。
認証メカニズムのドライバー (バックエンド・ドライバー) を書きたければ、
sasl-make-mechanism
を使い、sasl-mechanisms
およ
び sasl-mechanism-alist
を正しく変更してください。
sasl-mechanism
オブジェクトを割り当てます。
この関数は二つのパラメーター、すなわちメカニズムの名前、および認証するた
めの関数のリストを受け取ります。
(defconst sasl-anonymous-steps '(identity ; 最初は応答無し sasl-anonymous-response)) (put 'sasl-anonymous 'sasl-mechanism (sasl-make-mechanism "ANONYMOUS" sasl-anonymous-steps)) |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
クライアント (sasl-client
オブジェクト) は四つのパラメーター、す
なわちメカニズム、ユーザー名、サービス名、およびサーバー名によって初期化
されます。
sasl-client
オブジェクトを用意します。
クライアントのメカニズム (sasl-mechanism
オブジェクト) を返します。
クライアントの認証名を文字列で返します。
クライアントのサービス名を文字列で返します。
クライアントのサーバー名を文字列で返します。
属性の設定を追加したい場合は、sasl-client-set-property
を使ってく
ださい。
与えられた属性およびその値をクライアントに追加します。
クライントの属性の値を返します。
クライアントの属性を破壊的に設定します。
第二引数は新しいプロパティー・リスト (plist) です。
クライアントの設定のプロパティー・リストを、まるごと返します。
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
ステップ (sasl-step
オブジェクト) は認証「ステップ」の抽象化です。
それは、応答の値と次回の認証処理の入り口を保持します (後者はアクセスでき
ません)。
step が保持するデータを文字列で返します。
step に data の文字列を格納します。
最初の応答を得るには、第二引数を nil
にして関
数 sasl-next-step
を呼ばなければなりません。
(setq name (sasl-mechanism-name mechanism)) |
この段階で、SASL の認証プロトコルの交換を開始するコマンドを送ることがで きます。例です。
(process-send-string process (if (sasl-step-data step) ; 最初の応答 (format "AUTH %s %s\r\n" name (base64-encode-string (sasl-step-data step) t)) (format "AUTH %s\r\n" name))) |
認証処理を続けるために行なわなければならないことは、連続し
て sasl-next-step
を呼ぶことです。
認証ステップを実行します。
最初は step を nil
に設定しなければなりません。
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
This document was generated by Yasutaka SHINDOH on May 11, 2011 using texi2html 1.82.