この付録は、次のような節から構成されています。
「GSS-API 関数」では、GSS-API 関数の表を示します。
「GSS-API 状態コード」では、GSS-API 関数が戻す状態コードについて説明し、状態コードのリストを示します。
「GSS-API データ型と値」では、GSS-API で使用されるさまざまなデータ型について説明します。
「GSS-API の実装に固有な機能」では、GSS-API の Sun の実装に固有な機能について説明します。
「Kerberos v5 状態コード」では、Kerberos v5 機構で戻ることがある状態コードのリストを示します。
これ以外の GSS-API 定義については、ファイル gssapi.h を参照してください。
Solaris ソフトウェアでは、次の GSS-API 関数を実装します。各関数の詳細は、それぞれのマニュアルページを参照してください。また、「旧バージョンの GSS-API 関数」も参照してください。
この節では、旧バージョンの GSS-API 関数について説明します。
OID を処理する関数GSS-API の Sun の実装では、便宜上および下位互換性のために、次の関数が提供されています。しかし、これらの関数は GSS-API の Sun 以外の実装ではサポートされていない場合があります。
機構名は文字列から OID に変換されますが、可能な限り、GSS-API が提供するデフォルトの機構を使用してください。
次の関数は新しい関数に差し替えられました。どの場合も、新しい関数は古い関数と機能的に同等です。古い関数もサポートされていますが、可能な限り、新しい関数に置き換えてください。
メジャー状態コードは、次の図に示すように、OM_uint32 に符号化されます。

GSS-API ルーチンが上位 16 ビットに 0 以外の値が入った GSS 状態コードを戻す場合、その呼び出しが失敗したことを示します。呼び出しエラーフィールドが 0 以外の場合、アプリケーションのルーチンの呼び出しにエラーがあったことを示します。表 B–1 に、「呼び出しエラー」のリストを示します。ルーチンエラーフィールドが 0 以外の場合、ルーチン固有のエラーのためにルーチンが失敗したことを示します。表 B–2 に、「ルーチン固有のエラー」のリストを示します。上位 16 ビットが失敗または成功のどちらを示すかにかかわらず、状態コードの補足情報フィールドのビットを設定できます。表 B–3 に、個々のビットの意味を示します。
次の表に、GSS-API が戻す呼び出しエラーのリストを示します。これらのエラーは、特定の言語バインディング (この場合は C) に固有です。
表 B–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 関数が戻す一般的なエラー) のリストを示します。
表 B–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 関数が戻す補足情報の値のリストを示します。
表 B–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 状態コード」を参照してください。
gss_display_status() 関数は、GSS-API 状態コードをテキスト形式に変換します。この形式を使用すると、コードをユーザーに表示したり、テキストログに格納したりできます。関数の中には複数の状態を戻すものもありますが、gss_display_status() 関数は 一度に 1 つの状態コードしか表示できません。このため、gss_display_status() をループの一部として呼び出す必要があります。gss_display_status() が 0 以外の状態コードを示すときは、関数は別の状態コードを取得できます。
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_cred_id_t または gss_name_t などのいくつかのデータ型はユーザーに不透明です。これらのデータ型については説明する必要がありません。この節では、次の項目について説明します。
「基本 GSS-API データ型」 – OM_uint32、gss_buffer_desc、gss_OID_desc、gss_OID_set_desc_struct、gss_channel_bindings_struct  の各データ型の定義を示します。
「名前型」 – 名前を指定するときに GSS-API が認識する各種の名前の形式を示します。
「チャネルバインディングのアドレス型」 – gss_channel_bindings_t 構造体の initiator_addrtype および acceptor_addrtype の各フィールドで使用できるさまざまな値を示します。
ここでは、GSS-API で使用されるデータ型について説明します。
OM_uint32
OM_uint32 はプラットフォームに依存しない 32 ビットの符号なし整数です。
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 ポインタを含む gss_OID_desc の定義は、次の書式で記述されます。
typedef struct gss_OID_desc_struct {
        OM_uint32 length;
        void*elements;
} gss_OID_desc, *gss_OID;
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_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;
名前型は、関連する名前の形式を示しています。名前と名前型の詳細は、 「GSS-API における名前」および 「GSS-API の OID」を参照してください。GSS-API は、次の表に示す gss_OID 名前型をサポートしています。
シンボリック名 GSS_C_NO_NAME は、名前の転送で提供される値がないことを示すパラメータ値として推奨されます。
実際のオブジェクト識別子ではなく、NULL の入力値に相当します。この値を指定した場合、関連する名前が機構に固有なデフォルトの印刷可能な構文に基づいて解釈されることを示します。
匿名を確認する方法。この値と比較することによって、名前が匿名の主体を参照するかどうかを機構に依存しない方法で確認できます。
gss_export_name() 関数でエクスポートされた名前。
ホストコンピュータに関連付けられたサービスを表します。この名前型は、サービス (service) とホスト名 (hostname) の 2 つの要素からなり、service@hostname の書式で記述されます。
ローカルシステム上のユーザーの、数値によるユーザー識別子を示します。この値の解釈方法は OS に固有です。gss_import_name() 関数はこの UID をユーザー名に解釈処理し、ユーザー名形式として扱います。
ローカルシステム上のユーザーの数値によるユーザー識別子を表す数字文字列を示します。この値の解釈方法は OS に固有です。この名前型はマシン UID 形式に似ていますが、バッファーにはユーザー ID を表す文字が入っています。
ローカルシステム上の指定されたユーザー。この値の解釈方法は OS に固有です。この値は username の書式で記述されます。
次の表に、gss_channel_bindings_struct 構造体の initiator_addrtype フィールドと acceptor_addrtype フィールドで使用できる値を示します。この 2 つのフィールドは、名前を受け取ることができる形式 (ARPAnet IMP アドレスや AppleTalk アドレスなど) を示します。チャネルバインディングについては、「GSS-API におけるチャネルバインディングの使用」を参照してください。
表 B–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 の実装によっては、いくつかの動作が若干異なる場合もあります。ほとんどの場合、実装による違いはプログラムに最小限の影響しか与えません。どのような場合でも、実装に固有な動作 (Sun の実装も含む) に依存しなければ、移植性を最大限にすることができます。
Sun の実装には、カスタマイズされた GSS-API 関数はありません。
GSS-API の実装によっては、名前の出力可能な形式についての構文が異なる場合があります。移植性を最大限にする場合は、アプリケーションで、人が読める (つまり出力可能な) 形式を使用する名前を比較するべきではありません。そのかわり、gss_compare_name() を使用して内部形式名がほかの名前と一致するかどうかを確認してください。
Sun の 実装の 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 です。Sun の実装で有効な印刷可能な名前の中では、これ以外にかぎかっこ (<>) で囲まれているものはありません。
gss_cred_t、gss_ctx_id_t、gss_name_t の各データ型はポインタとして実装されています (一部の実装では算術型として指定される場合もある) 。  
		 
コンテキストの確立に失敗すると、Sun の実装では部分的に構築されたコンテキストを自動的に削除しません。したがって、アプリケーションでこの事態を処理する、つまり、gss_delete_sec_context() でコンテキストを削除する必要があります。
Sun の実装では、格納されたデータ (内部名など) を、メモリー管理を通じて自動的に解放します。しかし、データ要素が必要でなくなったときには、アプリケーションで適切な関数 (gss_release_name() など) を呼び出す必要があります。
チャネルバインディングをサポートしているかどうかは、機構によって異なります。Diffie-Hellman 機構と Kerberos v5 機構はどちらもチャネルバインディングをサポートしています。
開発者は、チャネルバインディングデータには機密保護が施されていないものとしてください。Kerberos v5 機構には機密保護が用意されていますが、 Diffie-Hellman 機構ではチャネルバインディングデータの機密性は保持されません。
Sun の実装では、同じコンテキストに対する複数のインポートの試みを検出および拒否します。
GSS-API の Sun の実装では、gss_acquire_cred() による、GSS_C_INITIATE、GSS_C_ACCEPT、および GSS_C_BOTH の各資格の獲得をサポートしています。
GSS-API の Sun の実装では、資格の有効期間の設定をサポートします。したがって、プログラマは gss_acquire_cred() や gss_add_cred() などの関数で、資格の有効期間に関連するパラメータを使用できます。
GSS-API の Sun の実装では、コンテキストの有効期間の設定をサポートします。したがって、プログラマは gss_init_sec_context() や gss_inquire_context() などの関数で、コンテキストの有効期間に関連するパラメータを使用できます。
GSS-API の Sun 実装では、基礎となる機構とは異なり、gss_wrap() で処理するメッセージの最大サイズ制限を課しません。アプリケーションは gss_wrap_size_limit() でメッセージの最大サイズを決定できます。
GSS-API の Sun の実装では、gss_wrap_size_limit() を呼び出すとき、無効な QOP 値を検出します。
GSS-API の Sun の実装では、関数が minor_status パラメータで戻すのは、機構に固有な情報のみです。他の実装では、戻されたマイナー状態コードの一部として実装に固有な戻り値が含まれることもあります。
各 GSS-API 関数は 2 つの状態コードを戻します。 「メジャー状態コード」と「マイナー状態コード」です。メジャー状態コードは GSS-API の動作に関連します。たとえば、セキュリティーコンテキストの有効期間が終了したあとで、アプリケーションがメッセージを転送しようとした場合、GSS-API は GSS_S_CONTEXT_EXPIRED というメジャー状態コードを戻します。メジャー状態コードのリストについては、「GSS-API 状態コード」を参照してください。
マイナー状態コードを戻すのは、GSS-API の実装でサポートされる実際のセキュリティー機構です。すべての GSS-API 関数は、最初の引数として minor_status または minor_stat パラメータを受け取ります。関数が戻ったときにこのパラメータを調べることによって、アプリケーションは、関数が成功したかどうかにかかわらず、実際の機構が戻した状態を知ることができます。
次の表に、Kerberos v5 が minor_status 引数に戻す状態メッセージのリストを示します。GSS-API 状態コードの詳細は、「GSS-API 状態コード」を参照してください。
次の表に、Kerberos v5 で状態コード 1 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 として戻されるマイナー状態メッセージのリストを示します。
表 B–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 | Kerberos 構成ファイル /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 |