SASL リファレンス表
この付録では、SASL の関連情報を示します。SASL とは、simple authentication and security layer の略です。
SASL インタフェースのサマリー
次の表に、いくつかの SASL インタフェースについての簡単な説明を示します。
表 F-1 クライアントとサーバーに共通する 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
| セキュリティー層を使用して受信したデータを復号化します。
|
|
表 F-2 クライアント専用の基本的な SASL 関数
| |
sasl_client_init
| クライアントプラグインをロードおよび初期化するために最初に 1 度だけ呼び出されます。
|
sasl_client_new
| クライアント接続を初期化します。sasl_conn_t コンテキストを設定します。
|
sasl_client_start
| 接続に使用するメカニズムを選択します。
|
sasl_client_step
| 認証ステップを実行します。
|
|
表 F-3 サーバーの基本的な 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
| 接続用の補助プロパティーコンテキストを取得します。
|
|
表 F-4 基本サービスを構成するための SASL 関数
| |
sasl_set_alloc
| 記憶域割り当て関数を割り当てます。このインタフェースは現在使用されていません。
|
sasl_set_mutex
| 相互排他関数を割り当てます。このインタフェースは現在使用されていません。
|
sasl_client_add_plugin
| クライアントプラグインを追加します。
|
sasl_server_add_plugin
| サーバープラグインを追加します。
|
sasl_canonuser_add_plugin
| ユーザーの正規化プラグインを追加します。
|
sasl_auxprop_add_plugin
| 補助プロパティープラグインを追加します。
|
|
表 F-5 SASL ユーティリティー関数
| |
sasl_decode64
| 復号化に Base64 を使用します。
|
sasl_encode64
| エンコードに Base64 を使用します。
|
sasl_utf8verify
| 文字列が有効な UTF-8 かどうかを確認します。
|
sasl_erasebuffer
| セキュリティーに気を配る必要があるバッファーまたはパスワードを消去します。実装では回復されにくい消去ロジックを使用することがあります。
|
|
表 F-6 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()
| 補助プロパティーを要求します
|
|
表 F-7 コールバックデータ型
| |
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
| 平文のパスワードを設定します。サーバーでのみ使用されます。
|
|
表 F-8 SASL インクルードファイル
| |
sasl/saslplug.h
|
|
sasl/sasl.h
| プラグインの開発に必要です
|
sasl/saslutil.h
|
|
sasl/prop.h
|
|
|
表 F-9 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
| 一時的に発生する障害 (弱い鍵など)
|
|
表 F-10 SASL 戻りコード: クライアント専用
| |
SASL_BADSERV
| サーバーが相互認証ステップに失敗しました
|
SASL_INTERACT
| ユーザーの操作が必要です
|
SASL_WRONGMECH
| 要求された機能がメカニズムでサポートされていません
|
|
表 F-11 SASL 戻りコード: サーバー専用
| |
SASL_BADAUTH
| 認証エラー
|
SASL_BADVERS
| バージョンがプラグインと一致していません
|
SASL_DISABLED
| アカウントが無効です
|
SASL_ENCRYPT
| メカニズムを使用するには暗号化が必要です
|
SASL_EXPIRED
| パスフレーズの有効期限が切れているため、リセットする必要があります
|
SASL_NOAUTHZ
| 承認エラー
|
SASL_NOUSER
| ユーザーが見つかりません
|
SASL_NOVERIFY
| ユーザーは存在するが、検査方法がありません
|
SASL_TOOWEAK
| このユーザーに対してメカニズムが弱すぎます
|
SASL_TRANS
| 使い捨て平文パスワードで、ユーザーに要求されたメカニズムが使用できるようになります
|
SASL_UNAVAIL
| リモート認証サーバーが使用できません
|
|
表 F-12 SASL 戻りコード – パスワード操作
| |
SASL_NOCHANGE
| 指定された変更は必要ありません
|
SASL_NOUSERPASS
| ユーザーが指定したパスワードは許可されていません
|
SASL_PWLOCK
| パスフレーズがロックされています
|
SASL_WEAKPASS
| セキュリティーポリシーに対してパスフレーズが弱すぎます
|
|