JavaScript is required to for searching.
ナビゲーションリンクをスキップ
印刷ビューの終了
Oracle Solaris 11 セキュリティーサービス開発ガイド     Oracle Solaris 11 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.  Oracle Solaris 鍵管理フレームワークの紹介

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

B.  GSS-API リファレンス

C.  OID の指定

D.  SASL ソースコード例

E.  SASL リファレンス

SASL インタフェースの概要

用語集

索引

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
セキュリティーポリシーに対してパスフレーズが弱すぎます