SASL リファレンス表
この付録では、SASL の関連情報を示します。SASL とは、simple authentication and security layer の略です。
SASL インタフェースのサマリー
次の表に、いくつかの SASL インタフェースについての簡単な説明を示します。
表 14 クライアントとサーバーに共通する SASL 関数
|
|
sasl_version
|
SASL ライブラリのバージョン情報を取得します。
|
sasl_done
|
SASL のすべての広域的状態を解放します。
|
sasl_dispose
|
接続が完了したときに sasl_conn_t を破棄します。
|
sasl_getprop
|
プロパティー (ユーザー名、セキュリティー層に関する情報など) を取得します。
|
sasl_setprop
|
SASL プロパティーを設定します。
|
sasl_errdetail
|
接続に関する最新のエラーから文字列を生成します。
|
sasl_errstring
|
SASL エラーコードを文字列に変換します。
|
sasl_encode
|
セキュリティー層を使用して送信するデータをエンコードします。
|
sasl_encodev
|
セキュリティー層を介して伝送するデータブロックをエンコードします。入力パラメータとして iovec * を使用します。
|
sasl_listmech
|
使用できるメカニズムのリストを作成します。
|
sasl_global_listmech
|
考えられるすべてのメカニズムの配列を戻します。このインタフェースは現在使用されていません。
|
sasl_seterror
|
sasl_errdetail() によって戻されるエラー文字列を設定します。
|
sasl_idle
|
アイドル期間中またはネットワークの往復中に計算を行うように saslib を構成します。
|
sasl_decode
|
セキュリティー層を使用して受信したデータを復号化します。
|
|
表 15 クライアント専用の基本的な SASL 関数
|
|
sasl_client_init
|
クライアントプラグインをロードおよび初期化するために最初に 1 度だけ呼び出されます。
|
sasl_client_new
|
クライアント接続を初期化します。sasl_conn_t コンテキストを設定します。
|
sasl_client_start
|
接続に使用するメカニズムを選択します。
|
sasl_client_step
|
認証ステップを実行します。
|
|
表 16 サーバーの基本的な SASL 関数 (クライアントではオプション)
|
|
sasl_server_init
|
サーバープラグインをロードおよび初期化するために最初に 1 度だけ呼び出されます。
|
sasl_server_new
|
サーバー接続を初期化します。sasl_conn_t コンテキストを設定します。
|
sasl_server_start
|
認証の交換を開始します。
|
sasl_server_step
|
認証交換ステップを実行します。
|
sasl_checkpass
|
平文のパスフレーズを検査します。
|
sasl_checkapop
|
APOP のチャレンジおよび応答を検査します。擬似 APOP メカニズム (CRAM-MD5 メカニズムに似ている) を使用します。オプション。このインタフェースは現在使用されていません。
|
sasl_user_exists
|
ユーザーが存在するかどうかを確認します。
|
sasl_setpass
|
パスワードを変更します。ユーザーエントリを追加します (オプション)。
|
sasl_auxprop_request
|
補助プロパティーを要求します。
|
sasl_auxprop_getctx
|
接続用の補助プロパティーコンテキストを取得します。
|
|
表 17 基本サービスを構成するための SASL 関数
|
|
sasl_set_alloc
|
記憶域割り当て関数を割り当てます。このインタフェースは現在使用されていません。
|
sasl_set_mutex
|
相互排他関数を割り当てます。このインタフェースは現在使用されていません。
|
sasl_client_add_plugin
|
クライアントプラグインを追加します。
|
sasl_server_add_plugin
|
サーバープラグインを追加します。
|
sasl_canonuser_add_plugin
|
ユーザーの正規化プラグインを追加します。
|
sasl_auxprop_add_plugin
|
補助プロパティープラグインを追加します。
|
|
表 18 SASL ユーティリティー関数
|
|
sasl_decode64
|
復号化に Base64 を使用します。
|
sasl_encode64
|
エンコードに Base64 を使用します。
|
sasl_utf8verify
|
文字列が有効な UTF-8 かどうかを確認します。
|
sasl_erasebuffer
|
セキュリティーに気を配る必要があるバッファーまたはパスワードを消去します。実装では回復されにくい消去ロジックを使用することがあります。
|
|
表 19 SASL プロパティー関数
|
|
prop_clear()
|
値と要求をプロパティーコンテキストからクリアします (要求はオプション)
|
prop_dispose()
|
プロパティーコンテキストを破棄します
|
prop_dup()
|
既存の propctx の内容を複製して新しい propctx を作成します
|
prop_erase()
|
プロパティーの値を消去します
|
prop_format()
|
要求されたプロパティー名を文字列に書式設定します
|
prop_get()
|
コンテキストから propval 構造体の配列を戻します
|
prop_getnames()
|
プロパティー名のリストを指定して、struct propval の配列を埋めます
|
prop_new()
|
プロパティーコンテキストを作成します
|
prop_request()
|
プロパティー名を要求に追加します
|
prop_set()
|
プロパティー値をコンテキストに追加します
|
prop_setvals()
|
プロパティーの値を設定します
|
sasl_auxprop_getctx()
|
接続用の補助プロパティーコンテキストを取得します
|
sasl_auxprop_request()
|
補助プロパティーを要求します
|
|
表 20 コールバックデータ型
|
|
sasl_getopt_t
|
オプション値を取得します。クライアントでもサーバーでも使用されます。
|
sasl_log_t
|
メッセージハンドラをロギングします。クライアントでもサーバーでも使用されます。
|
sasl_getpath_t
|
メカニズムを探すためのパスを取得します。クライアントでもサーバーでも使用されます。
|
sasl_verifyfile_t
|
ファイルが SASL によって使用されるかどうかを確認します。クライアントでもサーバーでも使用されます。
|
sasl_canon_user_t
|
ユーザー名の正規化関数。クライアントでもサーバーでも使用されます。
|
sasl_getsimple_t
|
ユーザーと言語のリストを取得します。クライアントでのみ使用されます。
|
sasl_getsecret_t
|
認証シークレットを取得します。クライアントでのみ使用されます。
|
sasl_chalprompt_t
|
チャレンジを表示し、応答を入力するよう求めます。クライアントでのみ使用されます。
|
sasl_getrealm_t
|
認証レルムを取得します。クライアントでのみ使用されます。
|
sasl_authorize_t
|
ポリシーのコールバックを承認します。サーバーでのみ使用されます。
|
sasl_server_userdb_checkpass_t
|
平文のパスワードを検証します。サーバーでのみ使用されます。
|
sasl_server_userdb_setpass_t
|
平文のパスワードを設定します。サーバーでのみ使用されます。
|
|
表 21 SASL インクルードファイル
|
|
sasl/saslplug.h
|
|
sasl/sasl.h
|
プラグインの開発に必要です
|
sasl/saslutil.h
|
|
sasl/prop.h
|
|
|
表 22 SASL 戻りコード: 一般
|
|
SASL_BADMAC
|
整合性検査が失敗しました
|
SASL_BADVERS
|
メカニズムのバージョンが一致しません
|
SASL_BADPARAM
|
指定されたパラメータが無効です
|
SASL_BADPROT
|
プロトコルが正しくありません。操作を取り消します
|
SASL_BUFOVER
|
バッファーがオーバーフローしました
|
SASL_CONTINUE
|
認証には別の手順が必要です
|
SASL_FAIL
|
一般的なエラー
|
SASL_NOMECH
|
メカニズムがサポートされていません
|
SASL_NOMEM
|
メモリー不足のため、操作を完了できません
|
SASL_NOTDONE
|
交換の後期になるまで情報を要求できません
|
SASL_NOTINIT
|
SASL ライブラリが初期化されていません
|
SASL_OK
|
結果が正常です
|
SASL_TRYAGAIN
|
一時的に発生する障害 (弱い鍵など)
|
|
表 23 SASL 戻りコード: クライアント専用
|
|
SASL_BADSERV
|
サーバーが相互認証ステップに失敗しました
|
SASL_INTERACT
|
ユーザーの操作が必要です
|
SASL_WRONGMECH
|
要求された機能がメカニズムでサポートされていません
|
|
表 24 SASL 戻りコード: サーバー専用
|
|
SASL_BADAUTH
|
認証エラー
|
SASL_BADVERS
|
バージョンがプラグインと一致していません
|
SASL_DISABLED
|
アカウントが無効です
|
SASL_ENCRYPT
|
メカニズムを使用するには暗号化が必要です
|
SASL_EXPIRED
|
パスフレーズの有効期限が切れているため、リセットする必要があります
|
SASL_NOAUTHZ
|
承認エラー
|
SASL_NOUSER
|
ユーザーが見つかりません
|
SASL_NOVERIFY
|
ユーザーは存在するが、検査方法がありません
|
SASL_TOOWEAK
|
このユーザーに対してメカニズムが弱すぎます
|
SASL_TRANS
|
使い捨て平文パスワードで、ユーザーに要求されたメカニズムが使用できるようになります
|
SASL_UNAVAIL
|
リモート認証サーバーが使用できません
|
|
表 25 SASL 戻りコード – パスワード操作
|
|
SASL_NOCHANGE
|
指定された変更は必要ありません
|
SASL_NOUSERPASS
|
ユーザーが指定したパスワードは許可されていません
|
SASL_PWLOCK
|
パスフレーズがロックされています
|
SASL_WEAKPASS
|
セキュリティーポリシーに対してパスフレーズが弱すぎます
|
|