GSS-API のプログラミング

付録 E Kerberos v5 状態コード

Kerberos v5 状態コードの表

各 GSS-API 関数は 2 つの状態コードを戻します。メジャー状態コードとマイナー状態コードです。メジャー状態コードは GSS-API 自身の動作に関連します。たとえば、セキュリティコンテキストの有効期間が終了した後で、アプリケーションがメッセージを転送しようとした場合、GSS-API は GSS_S_CONTEXT_EXPIRED というメジャー状態コードを戻します。メジャー状態コードのリストについては、GSS-API 状態コードを参照してください。

マイナー状態コードを戻すのは、GSS-API の実装でサポートされる実際のセキュリティ機構です。現在のところ、GSS-API の Sun の実装でサポートされる唯一のセキュリティ機構は Kerberos v5 です。Sun が実装する Kerberos v5 のことを SEAM (Sun Enterprise Authentication Mechanism) と呼びます。このマニュアルでは同じであると考えてかまいません。すべての GSS-API 関数は最初の引数として minor_status (または minor_stat) パラメータを受け取ります。関数が戻ったときにこのパラメータを調べることによって、アプリケーションは、関数が成功したかどうかに関わらず、実際の機構が戻した状態を知ることができます。

次の表に、Kerberos v5 が minor_status 引数に戻す状態メッセージのリストを示します。

GSS-API 状態コードについての詳細は、状態コードを参照してください。

表 E–1 Kerberos v5 状態コード 1

マイナー状態 

値 

意味 

KRB5KDC_ERR_NONE 

-1765328384L 

エラーなし 

KRB5KDC_ERR_NAME_EXP 

-1765328383L 

データベース内のクライアントのエントリの有効期間が終了している。 

KRB5KDC_ERR_SERVICE_EXP 

-1765328382L 

データベース内のサーバーのエントリの有効期間が終了している。 

KRB5KDC_ERR_BAD_PVNO 

-1765328381L 

要求されたプロトコルのバージョンはサポートされていない。 

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 

クライアントまたはサーバーの鍵が空である。 

KRB5KDC_ERR_CANNOT_POSTDATE 

-1765328374L 

チケットが遅延のために無効である。 

KRB5KDC_ERR_NEVER_VALID 

-1765328373L 

要求された有効期間が負であるか、短すぎる。 

KRB5KDC_ERR_POLICY 

-1765328372L 

KDC ポリシーが要求を拒否した。 

KRB5KDC_ERR_BADOPTION 

-1765328371L 

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 

サーバーの資格が取り消された。 

表 E–2 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 

復号化整合性チェックが失敗した。 

KRB5KRB_AP_ERR_TKT_EXPIRED 

-1765328352L 

チケットの有効期間が終了している。 

KRB5KRB_AP_ERR_TKT_NYV 

-1765328351L 

チケットがまだ有効でない。 

KRB5KRB_AP_ERR_REPEAT 

-1765328350L 

リプレイされた要求。 

KRB5KRB_AP_ERR_NOT_US 

-1765328349L 

チケットが Kerberos v5 用でない。 

KRB5KRB_AP_ERR_BADMATCH 

-1765328348L 

チケットと認証用データが一致しない。 

KRB5KRB_AP_ERR_SKEW 

-1765328347L 

クロックスキューが大きすぎる。 

KRB5KRB_AP_ERR_BADADDR 

-1765328346L 

ネットアドレスが間違っている。 

KRB5KRB_AP_ERR_BADVERSION 

-1765328345L 

プロトコルのバージョンが一致しない。 

KRB5KRB_AP_ERR_MSG_TYPE 

-1765328344L 

メッセージの型が無効である。 

KRB5KRB_AP_ERR_MODIFIED 

-1765328343L 

メッセージのストリームが変更された。 

KRB5KRB_AP_ERR_BADORDER 

-1765328342L 

メッセージの順番が間違っている。 

KRB5KRB_AP_ERR_ILL_CR_TKT 

-1765328341L 

レルム間チケットが無効である。 

KRB5KRB_AP_ERR_BADKEYVER 

-1765328340L 

キーのバージョンが使用できない。 

表 E–3 Kerberos v5 状態コード 3

マイナー状態 

値 

意味 

KRB5KRB_AP_ERR_NOKEY 

-1765328339L 

サービス鍵が使用できない。 

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 

メッセージ内のチェックサム型が不適切である。 

KRB5PLACEHOLD_51 KRB5PLACEHOLD_59

-1765328333L -1765328325L

KRB5 エラーコード (51 〜 59。予約済み) 

KRB5KRB_ERR_GENERIC 

-1765328324L 

一般的なエラー 

KRB5KRB_ERR_FIELD_TOOLONG 

-1765328323L 

フィールドがこの実装には長すぎる。 

KRB5PLACEHOLD_62 KRB5PLACEHOLD_127

-1765328322L -1765328257L

KRB5 エラーコード (62 〜 127。予約済み) 

(値は戻されない)

-1765328256L 

内部使用のみ

KRB5_LIBOS_BADLOCKFLAG 

-1765328255L 

ファイルロックモードのフラグが無効である。 

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 

資格キャッシュ名の形式が間違っている。 

表 E–4 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 

要求のプリンシパルが間違っている。 

KRB5KRB_AP_ERR_TKT_INVALID 

-1765328239L 

チケットが設定したフラグが無効である。 

KRB5_PRINC_NOMATCH 

-1765328238L 

要求されたプリンシパルとチケットが一致しない。 

KRB5_KDCREP_MODIFIED 

-1765328237L 

KDC 返信が期待したものと一致しない。 

KRB5_KDCREP_SKEW 

-1765328236L 

クロックスキューが KDC 返信には大きすぎる 

KRB5_IN_TKT_REALM_MISMATCH 

-1765328235L 

初期チケット要求でクライアントとサーバーの領域が一致しない。 

KRB5_PROG_ETYPE_NOSUPP 

-1765328234L 

プログラムが暗号化型をサポートしていない。 

KRB5_PROG_KEYTYPE_NOSUPP 

-1765328233L 

プログラムが鍵型をサポートしていない。 

KRB5_WRONG_ETYPE 

-1765328232L 

要求された暗号化型がメッセージで使用されていない。 

KRB5_PROG_SUMTYPE_NOSUPP 

-1765328231L 

プログラムがチェックサム型をサポートしていない。 

KRB5_REALM_UNKNOWN 

-1765328230L 

要求されたレルムの KDC が見つからない。 

KRB5_SERVICE_UNKNOWN 

-1765328229L 

Kerberos サービスは不明である。 

KRB5_KDC_UNREACH 

-1765328228L 

要求されたレルムの KDC に到達できない。 

KRB5_NO_LOCALNAME 

-1765328227L 

プリンシパル名のローカル名が見つからない。 

KRB5_MUTUAL_FAILED 

-1765328226L 

相互認証が失敗した。 

KRB5_RC_TYPE_EXISTS 

-1765328225L 

リプレイのキャッシュ型がすでに登録されている。 

KRB5_RC_MALLOC 

-1765328224L 

これ以上メモリーを割り当てられない (リプレイのキャッシュコードで)。 

KRB5_RC_TYPE_NOTFOUND 

-1765328223L 

リプレイのキャッシュ型が不明である。 

表 E–5 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 

アクセス権がない (リプレイのキャッシュコードで) 

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 

鍵テーブルエントリが見つからない。 

KRB5_KT_END 

-1765328202L 

鍵テーブルの終わりに到達した。 

KRB5_KT_NOWRITE 

-1765328201L 

指定された鍵テーブルに書き込めない。 

表 E–6 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 

資格キャッシュファイルのアクセス権が間違っている。 

KRB5_FCC_NOFILE 

-1765328189L 

資格キャッシュファイルが見つからない。 

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 の交換中) サーバーが認証を拒否した。

表 E–7 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 

ホスト用のレルムを決定できない。 

KRB5_SNAME_UNSUPP_NAMETYPE 

-1765328167L 

名前型におけるサービスプリンシパルへの変換が定義されていない。 

KRB5KRB_AP_ERR_V4_REPLY 

-1765328166L 

初期チケットの応答が Version 4 のエラーを示している。 

KRB5_REALM_CANT_RESOLVE 

-1765328165L 

要求されたレルムに対して KDC を解釈処理できない。 

KRB5_TKT_NOT_FORWARDABLE 

-1765328164L 

要求しているチケットは転送可能なチケットを取得できない。 

KRB5_FWD_BAD_PRINCIPAL 

-1765328163L 

(資格の転送中) プリンシパル名が不良である。 

KRB5_GET_IN_TKT_LOOP 

-1765328162L 

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 

鍵テーブル内のプリンシパルの鍵バージョン番号が間違っている。 

KRB5_CONF_NOT_CONFIGURED 

-1765328157L 

Kerberos 構成ファイル /etc/krb5/krb5.conf が構成されていない。

gERROR_TABLE_BASE_krb5 

-1765328384L 

デフォルト