JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 开发者安全性指南     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

1.  面向开发者的 Oracle Solaris 安全(概述)

2.  开发特权应用程序

3.  编写 PAM 应用程序和服务

4.  编写使用 GSS-API 的应用程序

5.  GSS-API 客户机示例

6.  GSS-API 服务器示例

7.  编写使用 SASL 的应用程序

8.  Oracle Solaris 加密框架介绍

9.  编写用户级加密应用程序和提供者

10.  Oracle Solaris 密钥管理框架介绍

A.  基于 C 的 GSS-API 样例程序

B.  GSS-API 参考

GSS-API 函数

早期 GSS-API 版本中的函数

用于处理 OID 的函数

重命名的函数

GSS-API 状态码

GSS-API 主状态码值

显示状态码

状态码宏

GSS-API 数据类型和值

基本 GSS-API 数据类型

OM_uint32

gss_buffer_desc

gss_OID_desc

gss_OID_set_desc

gss_channel_bindings_struct

名称类型

通道绑定的地址类型

GSS-API 中特定于实现的功能

特定于 Oracle Solaris 的函数

人工可读的名称语法

匿名名称的格式

实现选定数据类型

删除上下文和存储数据

保护通道绑定信息

上下文导出和进程间令牌

支持的凭证类型

凭证到期

上下文到期

回绕大小限制和 QOP 值

使用 minor_status 参数

Kerberos v5 状态码

Kerberos v5 中状态码 1 的返回消息

Kerberos v5 中状态码 2 的返回消息

Kerberos v5 中状态码 3 的返回消息

Kerberos v5 中状态码 4 的返回消息

Kerberos v5 中状态码 5 的返回消息

Kerberos v5 中状态码 6 的返回消息

Kerberos v5 中状态码 7 的返回消息

C.  指定 OID

D.  SASL 示例的源代码

E.  SASL 参考表

词汇表

索引

Kerberos v5 状态码

每个 GSS-API 函数都会返回两个状态码:主状态码次状态码。 主状态码与 GSS-API 的行为相关。 例如,如果应用程序尝试在安全上下文到期后传输消息,则 GSS-API 将返回 GSS_S_CONTEXT_EXPIRED 的主状态码。 GSS-API 状态码中列出了主状态码。

次状态码是由给定的 GSS-API 实现支持的基础安全机制返回的。 每个 GSS-API 函数都采用 minor_statusminor_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
缺省值