GSS-API のプログラミング

GSS-API メジャー状態コードの値

次の表に、GSS-API が戻す呼び出しエラーのリストを示します。これは、特定の言語バインディング (この場合は C) に固有なエラーのことです。

表 B–2 呼び出しエラー

エラー 

フィールドの値 

意味 

GSS_S_CALL_INACCESSIBLE_READ 

要求された入力パラメータを読み取れない。 

GSS_S_CALL_INACCESSIBLE_WRITE 

要求された出力パラメータに書き込めない。 

GSS_S_CALL_BAD_STRUCTURE 

パラメータの形式が間違っている。 

次の表に、GSS-API が戻すルーチンエラーのリストを示します。つまり、GSS-API 関数が戻す一般的なエラーのことです。

表 B–3 ルーチンエラー

エラー 

フィールドの値 

意味 

GSS_S_BAD_MECH 

要求された機構がサポートされていない。 

GSS_S_BAD_NAME 

提供された名前が無効である。 

GSS_S_BAD_NAMETYPE 

提供された名前型がサポートされていない。 

GSS_S_BAD_BINDINGS 

提供されたチャネルバインディングが間違っている。 

GSS_S_BAD_STATUS 

提供された状態コードが無効である。 

GSS_S_BAD_MIC, GSS_S_BAD_SIG 

トークンが持っている MIC が無効である。 

GSS_S_NO_CRED 

資格が提供されていない。あるいは、資格を使用またはアクセスできない。 

GSS_S_NO_CONTEXT 

コンテキストが全く確立されていない。 

GSS_S_DEFECTIVE_TOKEN 

トークンが無効である。 

GSS_S_DEFECTIVE_CREDENTIAL 

10 

資格が無効である。 

GSS_S_CREDENTIALS_EXPIRED 

11 

参照された資格の有効期間が終了している。 

GSS_S_CONTEXT_EXPIRED 

12 

コンテキストの有効期間が終了している。 

GSS_S_FAILURE 

13 

その他のエラー (テキストを参照)

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–4 補足情報コード

コード 

ビット番号 

意味 

GSS_S_CONTINUE_NEEDED 

0 (LSB) 

gss_init_sec_context() または gss_accept_sec_context() だけが戻す。関数を完了させるには、もう一度ルーチンを呼び出す必要があることを示す。

GSS_S_DUPLICATE_TOKEN 

トークンは以前のトークンの複製である。 

GSS_S_OLD_TOKEN 

トークンの有効期間が終了している。 

GSS_S_UNSEQ_TOKEN 

後方にあるトークンをすでに処理している。 

GSS_S_GAP_TOKEN 

期待していたメッセージ毎トークンを受信していない。 

GSS メジャー状態コードの GSS_S_FAILURE は、実際の機構が特定の GSS–API 状態コードに定義されていないエラーを検出したことを示します。この場合、機構に固有な状態コード (マイナー状態コード) にエラーの詳細が提供されます。

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