Oracle® Solaris 11 セキュリティー開発者ガイド

印刷ビューの終了

更新: 2014 年 7 月
 
 

GSS-API リファレンス

    この付録は、次のようなセクションから構成されています。

  • GSS-API Functionsでは、GSS-API 関数の表を示します。

  • GSS-API Status Codesでは、GSS-API 関数が戻すステータスコードについて説明し、ステータスコードのリストを示します。

  • GSS-API Data Types and Valuesでは、GSS-API で使用されるさまざまなデータ型について説明します。

  • Implementation-Specific Features in GSS-APIでは、GSS-API の Oracle Solaris 実装に固有な機能について説明します。

  • Kerberos v5 Status Codesでは、Kerberos v5 メカニズムで戻ることがあるステータスコードのリストを示します。

これ以外の 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  メジャーステータスのエンコーディング

image:メジャーステータスコードが、どのように OM_uint32 に符号化されるかを示しています。

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 Bindingsgss_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  チャネルバインディングのアドレス型
フィールド
値 (10 進数)
アドレス型
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