JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 开发者安全性指南     Oracle Solaris 10 8/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.  使用智能卡框架

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 参考表

F.  打包和签署加密提供者

词汇表

索引

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
缺省值