Kerberos v5 状态码
每个 GSS-API 函数都会返回两个状态码:主状态码和次状态码。 主状态码与 GSS-API 的行为相关。 例如,如果应用程序尝试在安全上下文到期后传输消息,则 GSS-API 将返回 GSS_S_CONTEXT_EXPIRED 的主状态码。 GSS-API 状态码中列出了主状态码。
次状态码是由给定的 GSS-API 实现支持的基础安全机制返回的。 每个 GSS-API 函数都采用 minor_status 或 minor_stat 参数作为第一个变量。 无论函数是否成功返回,应用程序都可以检查此参数,以了解基础机制返回的状态。
下表列出了 minor_status 参数中的 Kerberos v5 返回的状态消息。 有关 GSS-API 状态码的更多信息,请参见GSS-API 状态码。
Kerberos v5 中状态码 1 的返回消息
下表列出了 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 |
请求的协议版本不受支持 |
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 不支持传输的类型 |
KRB5KDC_ERR_CLIENT_REVOKED |
-1765328366L |
已撤销客户机的凭证 |
KRB5KDC_ERR_SERVICE_REVOKED |
-1765328365L |
已撤销服务器的凭证 |
|
Kerberos v5 中状态码 2 的返回消息
下表列出了 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 |
解密完整性检查失败 |
KRB5KRB_AP_ERR_TKT_EXPIRED |
-1765328352L |
票证已到期 |
KRB5KRB_AP_ERR_TKT_NYV |
-1765328351L |
票证尚无效 |
KRB5KRB_AP_ERR_REPEAT |
-1765328350L |
请求为重放 |
KRB5KRB_AP_ERR_NOT_US |
-1765328349L |
票证不是供我们使用 |
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 |
密钥版本不可用 |
|
Kerberos v5 中状态码 3 的返回消息
下表列出了 Kerberos v5 中状态码 3 的返回的次状态消息。
表 B-7 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 |
凭证高速缓存名称格式错误 |
|
Kerberos v5 中状态码 4 的返回消息
下表列出了 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 |
请求中的主体错误 |
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 |
重放高速缓存类型未知 |
|
Kerberos v5 中状态码 5 的返回消息
下表列出了 Kerberos v5 中状态码 5 的返回的次状态消息。
表 B-9 Kerberos v5 状态码 5
|
|
|
KRB5_RC_UNKNOWN |
-1765328222L |
一般性未知 RC 错误 |
KRB5_RC_REPLAY |
-1765328221L |
消息为重放 |
KRB5_RC_IO |
-1765328220L |
重放 I/O 操作失败 |
KRB5_RC_NOIO |
-1765328219L |
重放高速缓存类型不支持非易失性存储 |
KRB5_RC_PARSE |
-1765328218L |
重放高速缓存名称解析和格式错误 |
KRB5_RC_IO_EOF |
-1765328217L |
重放高速缓存 I/O 的文件结束 |
KRB5_RC_IO_MALLOC |
-1765328216L |
无更多内存可供分配(用重放高速缓存
I/O 代码) |
KRB5_RC_IO_PERM |
-1765328215L |
重放高速缓存代码中权限被拒绝 |
KRB5_RC_IO_IO |
-1765328214L |
重放高速缓存 I/O 代码中的 I/O 错误 |
KRB5_RC_IO_UNKNOWN |
-1765328213L |
一般性未知 RC/IO 错误 |
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 |
无法写入指定的密钥表 |
|
Kerberos v5 中状态码 6 的返回消息
下表列出了 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 |
凭证高速缓存 I/O 操作失败 |
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 |
请求缺失的第二个票证 |
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 的返回的次状态消息。
表 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 |
主机名无法规范 |
KRB5_SNAME_UNSUPP_NAMETYPE |
-1765328167L |
未针对名称类型定义转换到服务主体 |
KRB5KRB_AP_ERR_V4_REPLY |
-1765328166L |
最初的票证响应似乎为版本 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 |
配置文件 /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 配置文件 |
ERROR_TABLE_BASE_krb5 |
-1765328384L |
缺省值 |
|