JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 10 开发者安全性指南     Oracle Solaris 10 1/13 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.  打包和签署加密提供者

词汇表

索引

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

在 API 的实现之间 GSS-API 的某些方面可能有所不同。大多数情况下,实现之间的差异对程序只有很小的影响。在所有情况下,开发者都可以不依赖任何特定于给定实现(包括 Oracle Solaris 实现)的操作来最大化可移植性。

特定于 Oracle Solaris 的函数

Oracle 实现中没有定制的 GSS-API 函数。

人工可读的名称语法

GSS-API 实现在与名称对应的可列显语法中可能有所不同。对于可移植性,应用程序不应该比较使用人工可读(即可列显)格式的名称。相反,这些应用程序应该使用 gss_compare_name() 来确定内部格式名称是否与任何其他名称匹配。

Oracle Solaris gss_display_name() 实现按以下方式显示名称。如果 input_name 参数表示用户主体,则 gss_display_name() 将返回 user_principal@realm 作为 output_name_buffer,返回 gss_OID 值作为 output_name_type。如果 Kerberos v5 是基础机制,则 gss_OID1.2.840.11354.1.2.2

如果 gss_display_name() 接收到的名称是 gss_import_name() 使用 GSS_C_NO_OID 名称类型创建的,则 gss_display_name() 将在 output_name_type 参数中返回 GSS_C_NO_OID

匿名名称的格式

gss_display_name() 函数将输出字符串 "<anonymous>",以指示匿名 GSS-API 主体。与此名称关联的名称类型 OID 为 GSS_C_NT_ANONYMOUS。Oracle Solaris 实现支持的其他有效可列显名称不应以尖括号 (<>) 括起。

实现选定数据类型

以下数据类型已作为指针实现,但某些实现可能将这些类型指定为算术类型:gss_cred_tgss_ctx_id_tgss_name_t

删除上下文和存储数据

如果上下文建立失败,则 Oracle Solaris 实现不会自动删除部分生成的上下文。因此,应用程序应该通过使用 gss_delete_sec_context() 删除上下文来处理此事件。

此实现将通过内存管理自动释放存储的数据(如内部名称)。但是,当不再需要数据元素时,应用程序仍然应该调用相应的函数(如 gss_release_name())。

保护通道绑定信息

对通道绑定的支持随机制而变化。Diffie-Hellman 机制与 Kerberos v5 机制都支持通道绑定。

开发者应该假设通道绑定数据没有保密性保护。尽管 Kerberos v5 机制提供此保护,但通道绑定数据的保密性对于 Diffie-Hellman 机制不可用。

上下文导出和进程间令牌

Oracle Solaris 实现检测并拒绝相同上下文的多次尝试导入。

支持的凭证类型

Oracle Solaris 的 GSS-API 实现支持通过 gss_acquire_cred() 获取 GSS_C_INITIATEGSS_C_ACCEPTGSS_C_BOTH 凭证。

凭证到期

Oracle Solaris 的 GSS-API 实现支持凭证到期。因此,程序员可以在函数(如 gss_acquire_cred()gss_add_cred())中使用与凭证生命周期相关的参数。

上下文到期

Oracle Solaris 的 GSS-API 实现支持上下文到期。因此,程序员可以在函数(如 gss_init_sec_context()gss_inquire_context())中使用与上下文生命周期相关的参数。

回绕大小限制和 QOP 值

Oracle Solaris 的 GSS-API 实现(与任何基础机制相反)不对 gss_wrap() 处理的消息强加最大大小。应用程序可以使用 gss_wrap_size_limit() 确定最大消息大小。

调用 gss_wrap_size_limit() 时,Oracle Solaris 的 GSS-API 实现可以检测无效 QOP 值。

使用 minor_status 参数

在 Oracle Solaris 的 GSS-API 实现中,函数在 minor_status 参数中仅返回特定于机制的信息。其他实现可能在返回的次状态码中包括特定于实现的返回值。