GSS-API リファレンス
これ以外の GSS-API 定義については、ファイル gssapi.h を参照してください。
GSS-API 関数
Oracle Solaris ソフトウェアでは、次の GSS-API 関数を実装します。各関数の詳細は、それぞれのマニュアルページを参照してください。また、Functions From Previous Versions of GSS-APIも参照してください。
- gss_acquire_cred()
すでに存在している資格の GSS-API 資格ハンドルを取得することにより、大域的な ID を想定します
- gss_add_cred()
資格を増分的に作成します
- gss_inquire_cred()
資格に関する情報を取得します
- gss_inquire_cred_by_mech()
資格に関するメカニズムごとの情報を取得します
- gss_release_cred()
資格ハンドルを破棄します
- gss_init_sec_context()
ピアとなるアプリケーションでセキュリティーコンテキストを起動します
- gss_accept_sec_context()
ピアとなるアプリケーションが起動したセキュリティーコンテキストを受け入れます
- gss_delete_sec_context()
セキュリティーコンテキストを破棄します
- gss_process_context_token()
ピアとなるアプリケーションからのセキュリティーコンテキストでトークンを処理します
- gss_context_time()
コンテキストが有効である時間を決定します
- gss_inquire_context()
セキュリティーコンテキストに関する情報を取得します
- gss_wrap_size_limit()
gss_wrap() をコンテキストで実行するためにトークンのサイズの制限を決定します
- gss_export_sec_context()
セキュリティーコンテキストを別のプロセスに転送します
- gss_import_sec_context()
転送されたコンテキストをインポートします
- gss_get_mic()
メッセージの暗号化メッセージ整合性コード (MIC) を計算します
- gss_verify_mic()
MIC とメッセージを照合して、受信したメッセージの整合性を検証します
- gss_wrap()
MIC をメッセージに添付し、メッセージの内容を暗号化します (後者はオプション)
- gss_unwrap()
添付された MIC でメッセージを検証します。必要に応じて、メッセージの内容を復号化します
- gss_import_name()
連続する文字列名を内部形式名に変換します
- gss_display_name()
内部形式名をテキストに変換します
- gss_compare_name()
2 つの内部形式名を比較します
- gss_release_name()
内部形式名を破棄します
- gss_inquire_names_for_mech()
指定したメカニズムがサポートする名前型のリストを表示します
- gss_inquire_mechs_for_name()
指定した名前型をサポートするメカニズムのリストを表示します
- gss_canonicalize_name()
内部名をメカニズム名 (MN) に変換します
- gss_export_name()
MN をエクスポート形式に変換します
- gss_duplicate_name()
内部名のコピーを作成します
- gss_add_oid_set_member()
オブジェクト識別子を集合に追加します
- gss_display_status()
GSS-API ステータスコードをテキストに変換します
- gss_indicate_mechs()
使用できる実際の認証メカニズムを決定します
- gss_release_buffer()
バッファーを破棄します
- gss_release_oid_set()
オブジェクト識別子の集合を破棄します
- gss_create_empty_oid_set()
オブジェクト識別子の空の集合を作成します
- gss_test_oid_set_member()
オブジェクト識別子が集合のメンバーであるかどうかを確認します
旧バージョンの GSS-API 関数
このセクションでは、旧バージョンの GSS-API 関数について説明します。
OID を処理する関数
GSS-API の Oracle Solaris 実装では、便宜上および下位互換性のために、次の関数が提供されています。しかし、これらの関数は GSS-API の Sun 以外の実装ではサポートされていない場合があります。
gss_delete_oid()
gss_oid_to_str()
gss_str_to_oid()
メカニズム名は文字列から OID に変換されますが、可能な限り、GSS-API が提供するデフォルトのメカニズムを使用してください。
名前が変更された関数
次の関数は新しい関数に差し替えられました。どの場合も、新しい関数は古い関数と機能的に同等です。古い関数もサポートされていますが、可能な限り、新しい関数に置き換えてください。
gss_sign() は gss_get_mic() に置き換えられました。
gss_verify() は gss_verify_mic() に置き換えられました。
gss_seal() は gss_wrap() に置き換えられました。
gss_unseal() は gss_unwrap() に置き換えられました。
GSS-API ステータスコード
メジャーステータスコードは、次の図に示すように、OM_uint32 にエンコードされます。
図 C-1 メジャーステータスのエンコーディング
GSS-API ルーチンが上位 16 ビットに 0 以外の値が入った GSS ステータスコードを戻す場合、その呼び出しが失敗したことを示します。呼び出しエラーフィールドが 0 以外の場合、アプリケーションのルーチンの呼び出しにエラーがあったことを示します。Table C–1 に、「呼び出しエラー」のリストを示します。ルーチンエラーフィールドが 0 以外の場合、ルーチン固有のエラーのためにルーチンが失敗したことを示します。Table C–2 に、「ルーチン固有のエラー」のリストを示します。上位 16 ビットが失敗または成功のどちらを示すかにかかわらず、ステータスコードの補足情報フィールドのビットを設定できます。Table C–3 に、個々のビットの意味を示します。
GSS-API メジャーステータスコードの値
次の表に、GSS-API が返す呼び出しエラーのリストを示します。これらのエラーは、特定の言語バインディング (この場合は C) に固有です。
表 C-1 GSS-API の呼び出しエラー | | |
GSS_S_CALL_INACCESSIBLE_READ
| 1
| 要求された入力パラメータを読み取れません
|
GSS_S_CALL_INACCESSIBLE_WRITE
| 2
| 要求された出力パラメータに書き込めません
|
GSS_S_CALL_BAD_STRUCTURE
| 3
| パラメータの形式が間違っています
|
|
次の表に、GSS-API ルーチンエラー (GSS-API 関数が戻す一般的なエラー) のリストを示します。
表 C-2 GSS-API ルーチンエラー | | |
GSS_S_BAD_MECH
| 1
| 要求されたメカニズムがサポートされていません。
|
GSS_S_BAD_NAME
| 2
| 提供された名前が無効です。
|
GSS_S_BAD_NAMETYPE
| 3
| 提供された名前型がサポートされていません。
|
GSS_S_BAD_BINDINGS
| 4
| 提供されたチャネルバインディングが間違っています。
|
GSS_S_BAD_STATUS
| 5
| 提供されたステータスコードが無効です。
|
GSS_S_BAD_MIC, GSS_S_BAD_SIG
| 6
| トークンが持っている MIC が無効です。
|
GSS_S_NO_CRED
| 7
| 資格を使用またはアクセスできません。あるいは、資格が提供されていません。
|
GSS_S_NO_CONTEXT
| 8
| コンテキストがまったく確立されていません。
|
GSS_S_DEFECTIVE_TOKEN
| 9
| トークンが無効です。
|
GSS_S_DEFECTIVE_CREDENTIAL
| 10
| 資格が無効です。
|
GSS_S_CREDENTIALS_EXPIRED
| 11
| 参照された資格の有効期間が終了しています。
|
GSS_S_CONTEXT_EXPIRED
| 12
| コンテキストの有効期間が終了しています。
|
GSS_S_FAILURE
| 13
| その他のエラー。実際のメカニズムによって、特定の GSS-API ステータスコードが定義されていないエラーが検出されました。この場合、メカニズムに固有のステータスコード (マイナーステータスコード) にエラーの詳細が示されます。
|
GSS_S_BAD_QOP
| 14
| 要求された保護品質を提供できません。
|
GSS_S_UNAUTHORIZED
| 15
| 当該操作はローカルのセキュリティーポリシーによって禁止されています。
|
GSS_S_UNAVAILABLE
| 16
| 当該操作またはオプションは使用できません。
|
GSS_S_DUPLICATE_ELEMENT
| 17
| 要求された資格要素はすでに存在しています。
|
GSS_S_NAME_NOT_MN
| 18
| 提供された名前がメカニズム名 (MN) ではありません。
|
|
GSS_S_COMPLETE という名前は、値が 0 で、API エラーまたは補足情報ビットのどちらも存在しないことを示します。
次の表に、GSS-API 関数が戻す補足情報の値のリストを示します。
表 C-3 GSS-API 補足情報コード | | |
GSS_S_CONTINUE_NEEDED
| 0 (LSB)
| gss_init_sec_context() または gss_accept_sec_context() だけが返します。関数を完了させるには、もう一度ルーチンを呼び出す必要があることを示します。
|
GSS_S_DUPLICATE_TOKEN
| 1
| トークンは以前のトークンの複製です。
|
GSS_S_OLD_TOKEN
| 2
| トークンの有効期間が終了しています。
|
GSS_S_UNSEQ_TOKEN
| 3
| 後方にあるトークンをすでに処理しています。
|
GSS_S_GAP_TOKEN
| 4
| 期待していたメッセージ毎トークンを受信していません。
|
|
ステータスコードの詳細は、GSS-API Status Codesを参照してください。
ステータスコードの表示
gss_display_status() 関数は、GSS-API ステータスコードをテキスト形式に変換します。この形式を使用すると、コードをユーザーに表示したり、テキストログに格納したりできます。関数の中には複数の状態を戻すものもありますが、gss_display_status() 関数は 一度に 1 つのステータスコードしか表示できません。このため、gss_display_status() をループの一部として呼び出す必要があります。gss_display_status() が 0 以外のステータスコードを示すときは、関数は別のステータスコードを取得できます。
使用例 C-1 gss_display_status() によるステータスコードの表示
OM_uint32 message_context;
OM_uint32 status_code;
OM_uint32 maj_status;
OM_uint32 min_status;
gss_buffer_desc status_string;
...
message_context = 0;
do {
maj_status = gss_display_status(
&min_status,
status_code,
GSS_C_GSS_CODE,
GSS_C_NO_OID,
&message_context,
&status_string);
fprintf(stderr, "%.*s\n", \
(int)status_string.length, \
(char *)status_string.value);
gss_release_buffer(&min_status, &status_string,);
} while (message_context != 0);
ステータスコードのマクロ
マクロ GSS_CALLING_ERROR()、GSS_ROUTINE_ERROR ()、および GSS_SUPPLEMENTARY_INFO() は GSS ステータスコードを受け取ります。これらのマクロは、関係のあるフィールド以外の情報をすべて削除します。たとえば、GSS_ROUTINE_ERROR() をステータスコードに適用すると、呼び出しエラーフィールドと補足情報フィールドは削除されます。この操作では、ルーチンエラーフィールドのみが残ります。このようなマクロが提供する値は、適切な型の GSS_S_xxx シンボルと直接比較できます。また、マクロ GSS_ERROR() は、ステータスコードが呼び出しエラーまたはルーチンエラーを示す場合は 0 以外の値を戻し、そうでない場合は 0 を戻します。GSS-API で定義されるすべてのマクロは引数を 1 つだけしか受け取りません。
GSS-API データ型と値
このセクションでは、さまざまなタイプの GSS-API データ型と値について説明します。gss_cred_id_t または gss_name_t などのいくつかのデータ型はユーザーに不透明です。これらのデータ型については説明する必要がありません。このセクションでは、次の項目について説明します。
Basic GSS-API Data Types – OM_uint32、gss_buffer_desc、gss_OID_desc、gss_OID_set_desc_struct、gss_channel_bindings_struct の各データ型の定義を示します。
Name Types – 名前を指定するときに GSS-API が認識する各種の名前の形式を示します。
Address Types for Channel Bindings – gss_channel_bindings_t 構造体の initiator_addrtype および acceptor_addrtype の各フィールドで使用できるさまざまな値を示します。
基本 GSS-API データ型
このセクションでは、GSS-API で使用されるデータ型について説明します。
OM_uint32
OM_uint32 はプラットフォームに依存しない 32 ビットの符号なし整数です。
gss_buffer_desc
gss_buffer_t ポインタを含む gss_buffer_desc の定義は、次の書式で記述されます。
typedef struct gss_buffer_desc_struct {
size_t length;
void *value;
} gss_buffer_desc, *gss_buffer_t;
gss_OID_desc
gss_OID ポインタを含む gss_OID_desc の定義は、次の書式で記述されます。
typedef struct gss_OID_desc_struct {
OM_uint32 length;
void*elements;
} gss_OID_desc, *gss_OID;
gss_OID_set_desc
gss_OID_set ポインタを含む gss_OID_set_desc の定義は、次の書式で記述されます。
typedef struct gss_OID_set_desc_struct {
size_t count;
gss_OID elements;
} gss_OID_set_desc, *gss_OID_set;
gss_channel_bindings_struct
gss_channel_bindings_struct 構造体と gss_channel_bindings_t ポインタの定義は、次の書式で記述されます。
typedef struct gss_channel_bindings_struct {
OM_uint32 initiator_addrtype;
gss_buffer_desc initiator_address;
OM_uint32 acceptor_addrtype;
gss_buffer_desc acceptor_address;
gss_buffer_desc application_data;
} *gss_channel_bindings_t;
名前型
名前型は、関連する名前の形式を示しています。名前と名前型の詳細は、 Names in GSS-APIおよび GSS-API OIDsを参照してください。GSS-API は、次の表に示す gss_OID 名前型をサポートしています。
- GSS_C_NO_NAME
シンボリック名 GSS_C_NO_NAME は、名前の転送で提供される値がないことを示すパラメータ値として推奨されます。
- GSS_C_NO_OID
実際のオブジェクト識別子ではなく、NULL の入力値に相当します。この値を指定した場合、関連する名前がメカニズムに固有なデフォルトの印刷可能な構文に基づいて解釈されることを示します。
- GSS_C_NT_ANONYMOUS
匿名を確認する方法。この値と比較することによって、名前が匿名の主体を参照するかどうかをメカニズムに依存しない方法で確認できます。
- GSS_C_NT_EXPORT_NAME
gss_export_name() 関数でエクスポートされた名前。
- GSS_C_NT_HOSTBASED_SERVICE
ホストコンピュータに関連付けられたサービスを表します。この名前型は、サービス (service) とホスト名 (hostname) の 2 つの要素からなり、service@hostname の書式で記述されます。
- GSS_C_NT_MACHINE_UID_NAME
ローカルシステム上のユーザーの、数値によるユーザー識別子を示します。この値の解釈方法は OS に固有です。gss_import_name() 関数はこの UID をユーザー名に解釈処理し、ユーザー名形式として扱います。
- GSS_C_NT_STRING_STRING_UID_NAME
ローカルシステム上のユーザーの数値によるユーザー識別子を表す数字文字列を示します。この値の解釈方法は OS に固有です。この名前型はマシン UID 形式に似ていますが、バッファーにはユーザー ID を表す文字が入っています。
- GSS_C_NT_USER_NAME
ローカルシステム上の指定されたユーザー。この値の解釈方法は OS に固有です。この値は username の書式で記述されます。
チャネルバインディングのアドレス型
次の表に、gss_channel_bindings_struct 構造体の initiator_addrtype フィールドと acceptor_addrtype フィールドで使用できる値を示します。この 2 つのフィールドは、名前を受け取ることができる形式 (ARPAnet IMP アドレスや AppleTalk アドレスなど) を示します。チャネルバインディングについては、Using Channel Bindings in GSS-APIを参照してください。
表 C-4 チャネルバインディングのアドレス型 | | |
GSS_C_AF_UNSPEC
| 0
| 未定のアドレス型
|
GSS_C_AF_LOCAL
| 1
| ホスト - ローカル
|
GSS_C_AF_INET
| 2
| インターネットアドレス型 (IP など)
|
GSS_C_AF_IMPLINK
| 3
| ARPAnet IMP
|
GSS_C_AF_PUP
| 4
| pup プロトコル (BSP など)
|
GSS_C_AF_CHAOS
| 5
| MIT CHAOS プロトコル
|
GSS_C_AF_NS
| 6
| XEROX NS
|
GSS_C_AF_NBS
| 7
| nbs
|
GSS_C_AF_ECMA
| 8
| ECMA
|
GSS_C_AF_DATAKIT
| 9
| データキットプロトコル
|
GSS_C_AF_CCITT
| 10
| CCITT
|
GSS_C_AF_SNA
| 11
| IBM SNA
|
GSS_C_AF_DECnet
| 12
| DECnet
|
GSS_C_AF_DLI
| 13
| ダイレクトデータリンクインタフェース
|
GSS_C_AF_LAT
| 14
| LAT
|
GSS_C_AF_HYLINK
| 15
| NSC ハイパーチャネル
|
GSS_C_AF_APPLETALK
| 16
| AppleTalk
|
GSS_C_AF_BSC
| 17
| BISYNC
|
GSS_C_AF_DSS
| 18
| 分散システムサービス
|
GSS_C_AF_OSI
| 19
| OSI TP4
|
GSS_C_AF_X25
| 21
| X.25
|
GSS_C_AF_NULLADDR
| 255
| アドレスは指定されていません
|
|
GSS-API の実装に固有な機能
GSS-API の実装によっては、いくつかの動作が若干異なる場合もあります。ほとんどの場合、実装による違いはプログラムに最小限の影響しか与えません。どのような場合でも、実装に固有な動作 (Oracle Solaris 実装も含む) に依存しなければ、移植性を最大限にすることができます。
Oracle Solaris 固有の関数
Oracle Solaris の実装には、カスタマイズされた GSS-API 関数はありません。
人が読める名前についての構文
GSS-API の実装によっては、名前の出力可能な形式についての構文が異なる場合があります。移植性を最大限にする場合は、アプリケーションで、人が読める (つまり出力可能な) 形式を使用する名前を比較するべきではありません。そのかわり、gss_compare_name() を使用して内部形式名がほかの名前と一致するかどうかを確認してください。
Oracle Solaris 実装の gss_display_name() では名前を次のように表示します。input_name 引数がユーザー主体を指す場合、gss_display_name() は user_principal@realm を output_name_buffer として、gss_OID 値を output_name_type として返します。Kerberos v5 が実際のメカニズムである場合、gss_OID は 1.2.840.11354.1.2.2 になります。
gss_import_name() が GSS_C_NO_OID 名前型で作成した名前を gss_display_name() が受け取った場合、gss_display_name() は GSS_C_NO_OID を output_name_type パラメータで戻します。
匿名の形式
gss_display_name() 関数は、匿名の GSS-API 主体を示すとき、文字列 <anonymous> を出力します。この名前に関連する名前型 OID は GSS_C_NT_ANONYMOUS です。Oracle Solaris 実装で有効な印刷可能な名前の中では、これ以外にかぎかっこ (<>) で囲まれているものはありません。
選択されたデータ型の実装
gss_cred_t、gss_ctx_id_t、gss_name_t の各データ型はポインタとして実装されています (一部の実装では算術型として指定される場合もある)。
コンテキストの削除と格納されたデータの解放
コンテキストの確立に失敗すると、Oracle Solaris 実装では部分的に構築されたコンテキストを自動的に削除しません。したがって、アプリケーションでこの事態を処理する、つまり、gss_delete_sec_context() でコンテキストを削除する必要があります。
Oracle Solaris の実装では、格納されたデータ (内部名など) を、メモリー管理を通じて自動的に解放します。しかし、データ要素が必要でなくなったときには、アプリケーションで適切な関数 (gss_release_name() など) を呼び出す必要があります。
チャネルバインディング情報の保護
チャネルバインディングをサポートしているかどうかは、メカニズムによって異なります。Diffie-Hellman メカニズムと Kerberos v5 メカニズムはどちらもチャネルバインディングをサポートしています。
開発者は、チャネルバインディングデータには機密保護が施されていないものとしてください。Kerberos v5 メカニズムには機密保護が用意されていますが、 Diffie-Hellman メカニズムではチャネルバインディングデータの機密性は保持されません。
コンテキストのエクスポートとプロセス間トークン
Oracle Solaris 実装では、同じコンテキストに対する複数のインポートの試みを検出および拒否します。
サポートされる資格の型
GSS-API の Oracle Solaris 実装では、gss_acquire_cred() による、GSS_C_INITIATE、GSS_C_ACCEPT、および GSS_C_BOTH の各資格の獲得をサポートしています。
資格の有効期間
GSS-API の Oracle Solaris 実装では、資格の有効期間の設定をサポートします。したがって、プログラマは gss_acquire_cred() や gss_add_cred() などの関数で、資格の有効期間に関連するパラメータを使用できます。
コンテキストの有効期間
GSS-API の Oracle Solaris 実装では、コンテキストの有効期間の設定をサポートします。したがって、プログラマは gss_init_sec_context() や gss_inquire_context() などの関数で、コンテキストの有効期間に関連するパラメータを使用できます。
ラップサイズの制限と QOP 値
GSS-API の Oracle Solaris 実装では、ベースとなるメカニズムとは異なり、gss_wrap() で処理するメッセージの最大サイズ制限を課しません。アプリケーションは gss_wrap_size_limit() でメッセージの最大サイズを決定できます。
GSS-API の Oracle Solaris 実装では、gss_wrap_size_limit() を呼び出すとき、無効な QOP 値を検出します。
minor_status パラメータの使用
GSS-API の Oracle Solaris 実装では、関数が minor_status パラメータで戻すのは、メカニズムに固有な情報のみです。他の実装では、戻されたマイナーステータスコードの一部として実装に固有な戻り値が含まれることもあります。
Kerberos v5 ステータスコード
各 GSS-API 関数は、メジャーステータスコードとマイナーステータスコードの 2 つのステータスコードを返します。メジャーステータスコードは GSS-API の動作に関連します。たとえば、セキュリティーコンテキストの有効期間が終了したあとで、アプリケーションがメッセージを転送しようとした場合、GSS-API は GSS_S_CONTEXT_EXPIRED というメジャーステータスコードを戻します。メジャーステータスコードのリストについては、GSS-API Status Codesを参照してください。
マイナーステータスコードを戻すのは、GSS-API の実装でサポートされる実際のセキュリティーメカニズムです。すべての GSS-API 関数は、最初の引数として minor_status または minor_stat パラメータを受け取ります。関数が戻ったときにこのパラメータを調べることによって、アプリケーションは、関数が成功したかどうかにかかわらず、実際のメカニズムが戻したステータスを知ることができます。
次の表に、Kerberos v5 が minor_status 引数に戻すステータスメッセージのリストを示します。GSS-API ステータスコードの詳細は、GSS-API Status Codesを参照してください。
Kerberos v5 でステータスコード 1 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 1 として戻されるマイナーステータスメッセージのリストを示します。
表 C-5 Kerberos v5 ステータスコード 1 | | |
KRB5KDC_ERR_NONE
| -1765328384L
| エラーなし
|
KRB5KDC_ERR_NAME_EXP
| -1765328383L
| データベース内のクライアントのエントリの有効期間が終了しています
|
KRB5KDC_ERR_SERVICE_EXP
| -1765328382L
| データベース内のサーバーのエントリの有効期間が終了しています
|
KRB5KDC_ERR_BAD_PVNO
| -1765328381L
| Requested protocol version not supported (要求したプロトコルバージョンはサポートされていません。)
|
KRB5KDC_ERR_C_OLD_MAST_KVNO
| -1765328380L
| クライアントの鍵が古いマスター鍵で暗号化されています
|
KRB5KDC_ERR_S_OLD_MAST_KVNO
| -1765328379L
| サーバーの鍵が古いマスター鍵で暗号化されています
|
KRB5KDC_ERR_C_PRINCIPAL_UNKNOWN
| -1765328378L
| クライアントが Kerberos データベースに見つかりません
|
KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN
| -1765328377L
| サーバーが Kerberos データベースに見つかりません
|
KRB5KDC_ERR_PRINCIPAL_NOT_UNIQUE
| -1765328376L
| 主体が Kerberos データベースに複数のエントリを持っています
|
KRB5KDC_ERR_NULL_KEY
| -1765328375L
| Client or server has a null key (クライアントまたはサーバーの鍵が空です。)
|
KRB5KDC_ERR_CANNOT_POSTDATE
| -1765328374L
| Ticket is ineligible for postdating (チケットには遅延処理の資格がありません。)
|
KRB5KDC_ERR_NEVER_VALID
| -1765328373L
| 要求された有効期間が負であるか、短すぎます
|
KRB5KDC_ERR_POLICY
| -1765328372L
| KDC policy rejects request (KDC ポリシーは要求を拒否します。)
|
KRB5KDC_ERR_BADOPTION
| -1765328371L
| KDC can't fulfill requested option (KDC は要求したオプションを処理できません。)
|
KRB5KDC_ERR_ETYPE_NOSUPP
| -1765328370L
| KDC が暗号化型をサポートしていません
|
KRB5KDC_ERR_SUMTYPE_NOSUPP
| -1765328369L
| KDC がチェックサム型をサポートしていません
|
KRB5KDC_ERR_PADATA_TYPE_NOSUPP
| -1765328368L
| KDC は padata タイプをサポートしていません。
|
KRB5KDC_ERR_TRTYPE_NOSUPP
| -1765328367L
| KDC は transited タイプをサポートしていません。
|
KRB5KDC_ERR_CLIENT_REVOKED
| -1765328366L
| クライアントの資格が取り消されました
|
KRB5KDC_ERR_SERVICE_REVOKED
| -1765328365L
| サーバーの資格が取り消されました
|
|
Kerberos v5 でステータスコード 2 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 2 として戻されるマイナーステータスメッセージのリストを示します。
表 C-6 Kerberos v5 ステータスコード 2 | | |
KRB5KDC_ERR_TGT_REVOKED
| -1765328364L
| TGT が取り消されました
|
KRB5KDC_ERR_CLIENT_NOTYET
| -1765328363L
| クライアントがまだ有効ではありません。のちほど再試行してください
|
KRB5KDC_ERR_SERVICE_NOTYET
| -1765328362L
| サーバーがまだ有効ではありません。のちほど再試行してください
|
KRB5KDC_ERR_KEY_EXP
| -1765328361L
| パスワードの有効期間が終了しています
|
KRB5KDC_ERR_PREAUTH_FAILED
| -1765328360L
| 事前認証が失敗しました
|
KRB5KDC_ERR_PREAUTH_REQUIRED
| -1765328359L
| 追加の事前認証が要求されました
|
KRB5KDC_ERR_SERVER_NOMATCH
| -1765328358L
| 要求されたサーバーとチケットが一致しません
|
KRB5PLACEHOLD_27 - KRB5PLACEHOLD_30
| -1765328357L から -1765328354L
| KRB5 エラーコード (27 - 30。予約済み)
|
KRB5KRB_AP_ERR_BAD_INTEGRITY
| -1765328353L
| Decrypt integrity check failed (復号化で整合性チェックが失敗しました。)
|
KRB5KRB_AP_ERR_TKT_EXPIRED
| -1765328352L
| Ticket expired (チケットの有効期限が切れました。)
|
KRB5KRB_AP_ERR_TKT_NYV
| -1765328351L
| Ticket not yet valid (チケットはまだ有効ではありません。)
|
KRB5KRB_AP_ERR_REPEAT
| -1765328350L
| Request is a replay (要求は再送です。)
|
KRB5KRB_AP_ERR_NOT_US
| -1765328349L
| The ticket isn't for us (チケットはわれわれのものではありません。)
|
KRB5KRB_AP_ERR_BADMATCH
| -1765328348L
| チケットと認証用データが一致しません
|
KRB5KRB_AP_ERR_SKEW
| -1765328347L
| クロックスキューが大きすぎます
|
KRB5KRB_AP_ERR_BADADDR
| -1765328346L
| Incorrect net address (ネットアドレスが間違っています。)
|
KRB5KRB_AP_ERR_BADVERSION
| -1765328345L
| Protocol version mismatch (プロトコルバージョンが一致していません。)
|
KRB5KRB_AP_ERR_MSG_TYPE
| -1765328344L
| メッセージの型が無効です
|
KRB5KRB_AP_ERR_MODIFIED
| -1765328343L
| Message stream modified (メッセージストリームが変更されました。)
|
KRB5KRB_AP_ERR_BADORDER
| -1765328342L
| Message out of order (メッセージの順序が違います。)
|
KRB5KRB_AP_ERR_ILL_CR_TKT
| -1765328341L
| Illegal cross-realm ticket (レルム間のチケットが無効です。)
|
KRB5KRB_AP_ERR_BADKEYVER
| -1765328340L
| キーのバージョンが使用できません
|
|
Kerberos v5 でステータスコード 3 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 3 として戻されるマイナーステータスメッセージのリストを示します。
表 C-7 Kerberos v5 ステータスコード 3 | | |
KRB5KRB_AP_ERR_NOKEY
| -1765328339L
| Service key not available (サービス鍵が使用できません。)
|
KRB5KRB_AP_ERR_MUT_FAIL
| -1765328338L
| 相互認証が失敗しました
|
KRB5KRB_AP_ERR_BADDIRECTION
| -1765328337L
| メッセージの方向が間違っています
|
KRB5KRB_AP_ERR_METHOD
| -1765328336L
| 代替の認証方法が要求されました
|
KRB5KRB_AP_ERR_BADSEQ
| -1765328335L
| メッセージ内のシーケンス番号が間違っています
|
KRB5KRB_AP_ERR_INAPP_CKSUM
| -1765328334L
| Inappropriate type of checksum in message (メッセージのチェックサムのタイプが不適切です。)
|
KRB5PLACEHOLD_51 - KRB5PLACEHOLD_59
| -1765328333L から -1765328325L
| KRB5 エラーコード (51 - 59。予約済み)
|
KRB5KRB_ERR_GENERIC
| -1765328324L
| 一般的なエラー
|
KRB5KRB_ERR_FIELD_TOOLONG
| -1765328323L
| Field is too long for this implementation (この実装ではフィールドが長すぎます。)
|
KRB5PLACEHOLD_62 - KRB5PLACEHOLD_127
| -1765328322L から -1765328257L
| KRB5 エラーコード (62 - 127。予約済み)
|
値は戻されない
| -1765328256L
| 内部使用のみ
|
KRB5_LIBOS_BADLOCKFLAG
| -1765328255L
| Invalid flag for file lock mode (ファイルロックモードのフラグが無効です。)
|
KRB5_LIBOS_CANTREADPWD
| -1765328254L
| パスワードを読み取れません
|
KRB5_LIBOS_BADPWDMATCH
| -1765328253L
| パスワードが一致しません
|
KRB5_LIBOS_PWDINTR
| -1765328252L
| パスワードの読み取りが中断されました
|
KRB5_PARSE_ILLCHAR
| -1765328251L
| コンポーネント名の文字が無効です
|
KRB5_PARSE_MALFORMED
| -1765328250L
| 主体の表現形式が間違っています
|
KRB5_CONFIG_CANTOPEN
| -1765328249L
| Kerberos 構成ファイル /etc/krb5/krb5 が開けません (または、見つかりません)
|
KRB5_CONFIG_BADFORMAT
| -1765328248L
| Kerberos 構成ファイル /etc/krb5/krb5 の形式が不適切です
|
KRB5_CONFIG_NOTENUFSPACE
| -1765328247L
| 完全な情報を戻すには領域が不足しています
|
KRB5_BADMSGTYPE
| -1765328246L
| エンコード用に指定したメッセージ型が無効です
|
KRB5_CC_BADNAME
| -1765328245L
| 資格キャッシュ名の形式が間違っています
|
|
Kerberos v5 でステータスコード 4 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 4 として戻されるマイナーステータスメッセージのリストを示します。
表 C-8 Kerberos v5 ステータスコード 4 | | |
KRB5_CC_UNKNOWN_TYPE
| -1765328244L
| 資格キャッシュ型が不明です
|
KRB5_CC_NOTFOUND
| -1765328243L
| 一致する資格が見つかりません
|
KRB5_CC_END
| -1765328242L
| 資格キャッシュの終わりに到達しました
|
KRB5_NO_TKT_SUPPLIED
| -1765328241L
| 要求がチケットを提供していません
|
KRB5KRB_AP_WRONG_PRINC
| -1765328240L
| Wrong principal in request (要求した主体は正しくありません。)
|
KRB5KRB_AP_ERR_TKT_INVALID
| -1765328239L
| チケットが設定したフラグが無効です
|
KRB5_PRINC_NOMATCH
| -1765328238L
| Requested principal and ticket don't match (要求した主体とチケットは一致しません。)
|
KRB5_KDCREP_MODIFIED
| -1765328237L
| KDC reply did not match expectations (KDC 応答は予期したものと一致しませんでした。)
|
KRB5_KDCREP_SKEW
| -1765328236L
| クロックスキューが KDC 返信には大きすぎます
|
KRB5_IN_TKT_REALM_MISMATCH
| -1765328235L
| Client/server realm mismatch in initial ticket request (初期チケット要求でクライアント/サーバーレルムが一致していません。)
|
KRB5_PROG_ETYPE_NOSUPP
| -1765328234L
| プログラムが暗号化型をサポートしていません
|
KRB5_PROG_KEYTYPE_NOSUPP
| -1765328233L
| プログラムが鍵型をサポートしていません
|
KRB5_WRONG_ETYPE
| -1765328232L
| 要求された暗号化型がメッセージで使用されていません
|
KRB5_PROG_SUMTYPE_NOSUPP
| -1765328231L
| プログラムがチェックサム型をサポートしていません
|
KRB5_REALM_UNKNOWN
| -1765328230L
| Cannot find KDC for requested realm (要求されたレルムの KDC が見つかりません。)
|
KRB5_SERVICE_UNKNOWN
| -1765328229L
| Kerberos サービスが不明です
|
KRB5_KDC_UNREACH
| -1765328228L
| Cannot contact any KDC for requested realm (要求されたレルムの KDC に接続できません。)
|
KRB5_NO_LOCALNAME
| -1765328227L
| 主体名のローカル名が見つかりません
|
KRB5_MUTUAL_FAILED
| -1765328226L
| 相互認証が失敗しました
|
KRB5_RC_TYPE_EXISTS
| -1765328225L
| リプレイのキャッシュ型がすでに登録されています
|
KRB5_RC_MALLOC
| -1765328224L
| リプレイのキャッシュコードでこれ以上のメモリーを割り当てられません
|
KRB5_RC_TYPE_NOTFOUND
| -1765328223L
| リプレイのキャッシュ型が不明です
|
|
Kerberos v5 でステータスコード 5 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 5 として戻されるマイナーステータスメッセージのリストを示します。
表 C-9 Kerberos v5 ステータスコード 5 | | |
KRB5_RC_UNKNOWN
| -1765328222L
| 一般的な不明な RC エラー
|
KRB5_RC_REPLAY
| -1765328221L
| リプレイされたメッセージ
|
KRB5_RC_IO
| -1765328220L
| リプレイの入出力操作が失敗しました
|
KRB5_RC_NOIO
| -1765328219L
| リプレイのキャッシュ型が非揮発性記憶装置をサポートしません
|
KRB5_RC_PARSE
| -1765328218L
| リプレイのキャッシュ名の解析および形式エラー
|
KRB5_RC_IO_EOF
| -1765328217L
| リプレイのキャッシュ入出力でファイルの終わりに到達しました
|
KRB5_RC_IO_MALLOC
| -1765328216L
| リプレイのキャッシュ入出力コードでこれ以上メモリーを割り当てられません
|
KRB5_RC_IO_PERM
| -1765328215L
| Permission denied in replay cache code (再実行キャッシュコードでアクセス権がありません。)
|
KRB5_RC_IO_IO
| -1765328214L
| 入出力エラー (リプレイのキャッシュ入出力コードで)
|
KRB5_RC_IO_UNKNOWN
| -1765328213L
| 一般的な不明な RC/入出力エラー
|
KRB5_RC_IO_SPACE
| -1765328212L
| リプレイの情報を格納するためのシステム領域が不足しています
|
KRB5_TRANS_CANTOPEN
| -1765328211L
| レルム変換ファイルが開けません (または、見つかりません)
|
KRB5_TRANS_BADFORMAT
| -1765328210L
| レルム変換ファイルの形式が不適切です
|
KRB5_LNAME_CANTOPEN
| -1765328209L
| lname 変換データベースが開けません (または、見つかりません)
|
KRB5_LNAME_NOTRANS
| -1765328208L
| 要求された主体で使用できる変換が存在しません
|
KRB5_LNAME_BADFORMAT
| -1765328207L
| 変換データベースエントリの形式が不適切です
|
KRB5_CRYPTO_INTERNAL
| -1765328206L
| 暗号システム内部エラー
|
KRB5_KT_BADNAME
| -1765328205L
| 鍵テーブル名の形式が間違っています
|
KRB5_KT_UNKNOWN_TYPE
| -1765328204L
| 鍵テーブル型が不明です
|
KRB5_KT_NOTFOUND
| -1765328203L
| Key table entry not found (鍵テーブルエントリが見つかりません。)
|
KRB5_KT_END
| -1765328202L
| 鍵テーブルの終わりに到達しました
|
KRB5_KT_NOWRITE
| -1765328201L
| 指定された鍵テーブルに書き込めません
|
|
Kerberos v5 でステータスコード 6 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 6 として戻されるマイナーステータスメッセージのリストを示します。
表 C-10 Kerberos v5 ステータスコード 6 | | |
KRB5_KT_IOERR
| -1765328200L
| 鍵テーブルへの書き込み中にエラーが発生しました
|
KRB5_NO_TKT_IN_RLM
| -1765328199L
| 要求されたレルムのチケットが見つかりません
|
KRB5DES_BAD_KEYPAR
| -1765328198L
| DES 鍵のパリティーが不良です
|
KRB5DES_WEAK_KEY
| -1765328197L
| DES 鍵が弱い鍵です
|
KRB5_BAD_ENCTYPE
| -1765328196L
| 暗号化型が不良です
|
KRB5_BAD_KEYSIZE
| -1765328195L
| 鍵サイズが暗号化型と互換性がありません
|
KRB5_BAD_MSIZE
| -1765328194L
| メッセージサイズが暗号化型と互換性がありません
|
KRB5_CC_TYPE_EXISTS
| -1765328193L
| 資格キャッシュ型がすでに登録されています
|
KRB5_KT_TYPE_EXISTS
| -1765328192L
| 鍵テーブル型がすでに登録されています
|
KRB5_CC_IO
| -1765328191L
| 資格キャッシュ入出力操作が失敗しました
|
KRB5_FCC_PERM
| -1765328190L
| Credentials cache file permissions incorrect (資格キャッシュファイルのアクセス権が正しくありません。)
|
KRB5_FCC_NOFILE
| -1765328189L
| No credentials cache file found (資格キャッシュファイルが見つかりません。)
|
KRB5_FCC_INTERNAL
| -1765328188L
| 内部ファイル資格キャッシュエラー
|
KRB5_CC_WRITE
| -1765328187L
| 資格キャッシュファイルの書き込み中にエラーが発生しました
|
KRB5_CC_NOMEM
| -1765328186L
| 資格キャッシュコードでこれ以上メモリーを割り当てられません
|
KRB5_CC_FORMAT
| -1765328185L
| 資格キャッシュの形式が不良です
|
KRB5_INVALID_FLAGS
| -1765328184L
| KDC オプションの組み合わせが無効です (内部ライブラリエラー)
|
KRB5_NO_2ND_TKT
| -1765328183L
| 要求に 2 番目のチケットが指定されていません
|
KRB5_NOCREDS_SUPPLIED
| -1765328182L
| ライブラリルーチンに資格が提供されていません
|
KRB5_SENDAUTH_BADAUTHVERS
| -1765328181L
| 無効な sendauth バージョンが送信されました。
|
KRB5_SENDAUTH_BADAPPLVERS
| -1765328180L
| sendauth によって送信されたアプリケーションのバージョンが不良です
|
KRB5_SENDAUTH_BADRESPONSE
| -1765328179L
| sendauth の交換中の応答が不良です
|
KRB5_SENDAUTH_REJECTED
| -1765328178L
| sendauth の交換中にサーバーが認証を拒否しました
|
|
Kerberos v5 でステータスコード 7 として戻されるメッセージ
次の表に、Kerberos v5 でステータスコード 7 として戻されるマイナーステータスメッセージのリストを示します。
表 C-11 Kerberos v5 ステータスコード 7 | | |
KRB5_PREAUTH_BAD_TYPE
| -1765328177L
| 事前認証型がサポートされていません
|
KRB5_PREAUTH_NO_KEY
| -1765328176L
| 要求された事前認証鍵が提供されていません
|
KRB5_PREAUTH_FAILED
| -1765328175L
| 事前認証が失敗しました (一般的なエラー)
|
KRB5_RCACHE_BADVNO
| -1765328174L
| リプレイのキャッシュの形式のバージョン番号がサポートされていません
|
KRB5_CCACHE_BADVNO
| -1765328173L
| 資格キャッシュの形式のバージョン番号がサポートされていません
|
KRB5_KEYTAB_BADVNO
| -1765328172L
| 鍵テーブルの形式のバージョン番号がサポートされていません
|
KRB5_PROG_ATYPE_NOSUPP
| -1765328171L
| プログラムがアドレス型をサポートしていません
|
KRB5_RC_REQUIRED
| -1765328170L
| メッセージ再送検出には rcache パラメータが必要です。
|
KRB5_ERR_BAD_HOSTNAME
| -1765328169L
| ホスト名を標準化できません
|
KRB5_ERR_HOST_REALM_UNKNOWN
| -1765328168L
| Cannot determine realm for host (ホスト用のレルムを決定できません。)
|
KRB5_SNAME_UNSUPP_NAMETYPE
| -1765328167L
| 名前型におけるサービス主体への変換が定義されていません
|
KRB5KRB_AP_ERR_V4_REPLY
| -1765328166L
| 初期チケットの応答が Version 4 のエラーを示しています
|
KRB5_REALM_CANT_RESOLVE
| -1765328165L
| Cannot resolve KDC for requested realm (要求されたレルムの KDC を解決できません。)
|
KRB5_TKT_NOT_FORWARDABLE
| -1765328164L
| 要求しているチケットは転送可能なチケットを取得できません
|
KRB5_FWD_BAD_PRINCIPAL
| -1765328163L
| (資格の転送中) 主体名が不良です
|
KRB5_GET_IN_TKT_LOOP
| -1765328162L
| Looping detected inside krb5_get_in_tkt (krb5_get_in_tkt 内部でループが検出されました。)
|
KRB5_CONFIG_NODEFREALM
| -1765328161L
| 構成ファイル /etc/krb5/krb5.conf がデフォルトのレルムを指定していません
|
KRB5_SAM_UNSUPPORTED
| -1765328160L
| obtain_sam_padata に無効な SAM フラグがあります。
|
KRB5_KT_NAME_TOOLONG
| -1765328159L
| 鍵タブ名が長すぎます
|
KRB5_KT_KVNONOTFOUND
| -1765328158L
| Key version number for principal in key table is incorrect (鍵テーブルの主体の鍵バージョン番号が正しくありません。)
|
KRB5_CONF_NOT_CONFIGURED
| -1765328157L
| Kerberos 構成ファイル /etc/krb5/krb5.conf が構成されていません
|
ERROR_TABLE_BASE_krb5
| -1765328384L
| default
|
|