JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 开发者安全性指南     Oracle Solaris 11.1 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.  适用于开发者的安全编码准则

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

C.  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 的返回消息

D.  指定 OID

E.  SASL 示例的源代码

F.  SASL 参考信息表

词汇表

索引

请告诉我们如何提高我们的文档:
过于简略
不易阅读或难以理解
重要信息缺失
错误的内容
需要翻译的版本
其他
Your rating has been updated
感谢您的反馈!

您的反馈将非常有助于我们提供更好的文档。 您是否愿意参与我们的内容改进并提供进一步的意见?

GSS-API 数据类型和值

本节介绍各种类型的 GSS-API 数据类型和值。某些数据类型(如 gss_cred_id_tgss_name_t)对用户是不透明的。这些数据类型无需介绍。本节介绍以下主题:

基本 GSS-API 数据类型

本节介绍 GSS-API 使用的数据类型。

OM_uint32

OM_uint32 是与平台无关的 32 位无符号整数。

gss_buffer_desc

包含 gss_buffer_t 指针的 gss_buffer_desc 的定义采用以下格式:

typedef struct gss_buffer_desc_struct {
        size_t length;
        void *value;
} gss_buffer_desc, *gss_buffer_t;

gss_OID_desc

包含 gss_OID 指针的 gss_OID_desc 的定义采用以下格式:

typedef struct gss_OID_desc_struct {
        OM_uint32 length;
        void*elements;
} gss_OID_desc, *gss_OID;

gss_OID_set_desc

包含 gss_OID_set 指针的 gss_OID_set_desc 的定义采用以下格式:

typedef struct gss_OID_set_desc_struct  {
        size_t  count;
        gss_OID elements;
} gss_OID_set_desc, *gss_OID_set;

gss_channel_bindings_struct

gss_channel_bindings_struct 结构和 gss_channel_bindings_t 指针的定义的格式如下:

typedef struct gss_channel_bindings_struct {
        OM_uint32 initiator_addrtype;
        gss_buffer_desc initiator_address;
        OM_uint32 acceptor_addrtype;
        gss_buffer_desc acceptor_address;
        gss_buffer_desc application_data;
} *gss_channel_bindings_t;

名称类型

名称类型指示关联名称的格式。有关名称和名称类型的更多信息,请参见GSS-API 中的名称GSS-API OID。GSS-API 支持下表中的 gss_OID 名称类型。

GSS_C_NO_NAME

建议将符号名称 GSS_C_NO_NAME 作为参数值,以指示在名称传输中未提供任何值。

GSS_C_NO_OID

此值对应于空输入值,而不是实际的对象标识符。如果指定了该值,则该值基于机制特定缺省可列显语法指示关联名称的解释。

GSS_C_NT_ANONYMOUS

标识匿名名称的方式。可以比较此值,以与机制无关的方式确定名称是否引用匿名主体。

GSS_C_NT_EXPORT_NAME

使用 gss_export_name() 函数导出的名称。

GSS_C_NT_HOSTBASED_SERVICE

用于表示与主机关联的服务。此名称格式是按照以下方式使用两个元素(服务和主机名)构造的:service@hostname

GSS_C_NT_MACHINE_UID_NAME

用于指示与本地系统中的用户对应的数字用户标识符。该值的解释特定于 OS。gss_import_name() 函数将此 UID 解析为用户名,之后该 UID 就表示为用户名形式。

GSS_C_NT_STRING_STRING_UID_NAME

用于指示一个数字字符串,该字符串表示本地系统中的用户的数字用户标识符。该值的解释特定于 OS。此名称类型与计算机 UID 格式类似,不同的是缓冲区包含表示用户 ID 的字符串。

GSS_C_NT_USER_NAME

本地系统中的命名用户。该值的解释特定于 OS。该值采用以下格式:username

通道绑定的地址类型

下表给出了 gss_channel_bindings_struct 结构的 initiator_addrtype acceptor_addrtype 字段的可能值。这些字段指示名称可以采用的格式,例如 ARPAnet IMP 地址或 AppleTalk 地址。通道绑定将在在 GSS-API 中使用通道绑定中讨论。

表 C-4 通道绑定地址类型

字段
值(十进制)
地址类型
GSS_C_AF_UNSPEC
0
未指定的地址类型
GSS_C_AF_LOCAL
1
本地主机
GSS_C_AF_INET
2
Internet 地址类型,例如 IP
GSS_C_AF_IMPLINK
3
ARPAnet IMP
GSS_C_AF_PUP
4
pup 协议,例如 BSP
GSS_C_AF_CHAOS
5
MIT CHAOS 协议
GSS_C_AF_NS
6
XEROX NS
GSS_C_AF_NBS
7
nbs
GSS_C_AF_ECMA
8
ECMA
GSS_C_AF_DATAKIT
9
Datakit 协议
GSS_C_AF_CCITT
10
CCITT
GSS_C_AF_SNA
11
IBM SNA
GSS_C_AF_DECnet
12
DECnet
GSS_C_AF_DLI
13
直接数据链接接口
GSS_C_AF_LAT
14
LAT
GSS_C_AF_HYLINK
15
NSC 超级通道
GSS_C_AF_APPLETALK
16
AppleTalk
GSS_C_AF_BSC
17
BISYNC
GSS_C_AF_DSS
18
分布式系统服务
GSS_C_AF_OSI
19
OSI TP4
GSS_C_AF_X25
21
X.25
GSS_C_AF_NULLADDR
255
未指定任何地址