JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 10 セキュリティー開発者ガイド     Oracle Solaris 10 1/13 Information Library (日本語)
search filter icon
search icon

ドキュメントの情報

はじめに

1.  Oracle Solaris の開発者向けセキュリティー機能 (概要)

2.  特権付きアプリケーションの開発

3.  PAM アプリケーションおよび PAM サービスの記述

4.  GSS-API を使用するアプリケーションの記述

5.  GSS-API クライアント例

6.  GSS-API サーバー例

7.  SASL を使用するアプリケーションの記述

8.  Oracle Solaris 暗号化フレームワークの紹介

9.  ユーザーレベルの暗号化アプリケーションとプロバイダの記述

10.  スマートカードフレームワークの使用

A.  C ベース の GSS-API プログラム例

B.  GSS-API リファレンス

C.  OID の指定

D.  SASL ソースコード例

E.  SASL リファレンス

SASL インタフェースの概要

F.  暗号化プロバイダのパッケージ化と署名

用語集

索引

SASL インタフェースの概要

次の表に、いくつかの SASL インタフェースについての簡単な説明を示します。

表 E-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
セキュリティー層を使用して受信したデータを復号化します。

表 E-2 クライアント専用の基本的な SASL 関数

機能
説明
sasl_client_init
クライアントプラグインをロードおよび初期化するために最初に 1 度だけ呼び出されます。
sasl_client_new
クライアント接続を初期化します。sasl_conn_t コンテキストを設定します。
sasl_client_start
接続に使用するメカニズムを選択します。
sasl_client_step
認証ステップを実行します。

表 E-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
接続用の補助プロパティーコンテキストを取得します。

表 E-4 基本サービスを構成するための SASL 関数

機能
説明
sasl_set_alloc
記憶域割り当て関数を割り当てます。このインタフェースは現在使用されていません。
sasl_set_mutex
相互排他関数を割り当てます。このインタフェースは現在使用されていません。
sasl_client_add_plugin
クライアントプラグインを追加します。
sasl_server_add_plugin
サーバープラグインを追加します。
sasl_canonuser_add_plugin
ユーザーの正規化プラグインを追加します。
sasl_auxprop_add_plugin
補助プロパティープラグインを追加します。

表 E-5 SASL ユーティリティー関数

機能
説明
sasl_decode64
復号化に Base64 を使用します。
sasl_encode64
エンコードに Base64 を使用します。
sasl_utf8verify
文字列が有効な UTF-8 かどうかを確認します。
sasl_erasebuffer
セキュリティーに気を配る必要があるバッファーまたはパスワードを消去します。実装では回復されにくい消去ロジックを使用することがあります。

表 E-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()
補助プロパティーを要求します

表 E-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
平文のパスワードを設定します。サーバーでのみ使用されます。

表 E-8 SASL インクルードファイル

インクルードファイル
コメント
sasl/saslplug.h
sasl/sasl.h
プラグインの開発に必要です
sasl/saslutil.h
sasl/prop.h

表 E-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
一時的に発生する障害 (弱い鍵など)

表 E-10 SASL 戻りコード: クライアント専用

機能
説明
SASL_BADSERV
サーバーが相互認証ステップに失敗しました
SASL_INTERACT
ユーザーの操作が必要です
SASL_WRONGMECH
要求された機能がメカニズムでサポートされていません

表 E-11 SASL 戻りコード: サーバー専用

機能
説明
SASL_BADAUTH
認証エラー
SASL_BADVERS
バージョンがプラグインと一致していません
SASL_DISABLED
アカウントが無効です
SASL_ENCRYPT
メカニズムを使用するには暗号化が必要です
SASL_EXPIRED
パスフレーズの有効期限が切れているため、リセットする必要があります
SASL_NOAUTHZ
承認エラー
SASL_NOUSER
ユーザーが見つかりません
SASL_NOVERIFY
ユーザーは存在するが、検査方法がありません
SASL_TOOWEAK
このユーザーに対してメカニズムが弱すぎます
SASL_TRANS
使い捨て平文パスワードで、ユーザーに要求されたメカニズムが使用できるようになります
SASL_UNAVAIL
リモート認証サーバーが使用できません

表 E-12 SASL 戻りコード – パスワード操作

機能
説明
SASL_NOCHANGE
指定された変更は必要ありません
SASL_NOUSERPASS
ユーザーが指定したパスワードは許可されていません
SASL_PWLOCK
パスフレーズがロックされています
SASL_WEAKPASS
セキュリティーポリシーに対してパスフレーズが弱すぎます