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 的应用程序

GSS-API 介绍

使用 GSS-API 的应用程序的可移植性

GSS-API 中的安全服务

GSS-API 中的可用机制

使用 GSS-API 的远程过程调用

GSS-API 的限制

GSS-API 的语言绑定

有关 GSS-API 的更多参考信息

GSS-API 的重要元素

GSS-API 数据类型

GSS-API 整数

GSS-API 中的字符串和类似数据

GSS-API 中的名称

在 GSS-API 中比较名称

GSS-API OID

GSS-API 中的机制和 QOP

GSS-API 中的名称类型

GSS-API 状态码

GSS-API 令牌

GSS-API 中的进程间令牌

开发使用 GSS-API 的应用程序

GSS-API 的一般用法

在 GSS-API 中使用凭证

在 GSS-API 中获取凭证

在 GSS-API 中使用上下文

在 GSS-API 中启动上下文

在 GSS-API 中接受上下文

在 GSS-API 中使用其他上下文服务

在 GSS-API 中委托凭证

在 GSS-API 中的对等应用程序之间执行相互验证

在 GSS-API 中执行匿名验证

在 GSS-API 中使用通道绑定

在 GSS-API 中导出和导入上下文

在 GSS-API 中获取上下文信息

在 GSS-API 中发送受保护的数据

使用 gss_get_mic() 标记消息

使用 gss_wrap() 包装消息

在 GSS-API 中处理包装大小问题

在 GSS-API 中检测顺序问题

在 GSS-API 中确认消息传送

清除 GSS-API 会话

5.  GSS-API 客户机示例

6.  GSS-API 服务器示例

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

8.  Oracle Solaris 加密框架介绍

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

10.  使用智能卡框架

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

B.  GSS-API 参考

C.  指定 OID

D.  SASL 示例的源代码

E.  SASL 参考表

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

词汇表

索引

GSS-API 介绍

使用 GSS-API,程序员在编写应用程序时,可以应用通用的安全机制。开发者不必针对任何特定的平台、安全机制、保护类型或传输协议来定制安全实现。使用 GSS-API,程序员可忽略保护网络数据方面的细节。使用 GSS-API 编写的程序在网络安全方面具有更高的可移植性。这种可移植性是通用安全服务 API 的一个特点。

GSS-API 是一个以通用方式为调用者提供安全服务的框架。许多底层机制和技术(如 Kerberos v5 或公钥技术)都支持 GSS-API 框架,如下图所示。

图 4-1 GSS-API 层

image:该图显示了应用程序和安全机制之间的 GSS-API 和协议层。

从广义上讲,GSS-API 主要具有以下两种功能:

  1. GSS-API 可创建一个安全上下文,应用程序可在该上下文中相互传递数据。上下文是指两个应用程序之间的信任状态。由于共享同一个上下文的应用程序可相互识别,因此可以允许在上下文存在期间进行数据传送。

  2. GSS-API 可向要传送的数据应用一种或多种类型的保护,称为安全服务GSS-API 中的安全服务介绍了安全服务。

此外,GSS-API 还可执行以下功能:

GSS-API 中包括许多支持函数和便利函数。

使用 GSS-API 的应用程序的可移植性

GSS-API 为应用程序提供了以下几种类型的可移植性:

GSS-API 中的安全服务

GSS-API 提供了三种类型的安全服务:

GSS-API 中的可用机制

当前的 GSS-API 实现可使用以下机制:Kerberos v5、Diffie-Hellman 和 SPNEGO。有关 Kerberos 实现的更多信息,请参见《系统管理指南:安全性服务》中的第 21  章 "Kerberos 服务介绍"。如果任何系统上运行了能够识别 GSS-API 的程序,则应在该系统上安装和运行 Kerberos v5。

使用 GSS-API 的远程过程调用

针对网络应用程序使用 RPC(Remote Procedure Call,远程过程调用)协议的程序员可以使用 RPCSEC_GSS 来提供安全性。RPCSEC_GSS 是位于 GSS-API 上面的一个独立层。RPCSEC_GSS 可提供 GSS-API 的所有功能,但其方式是针对 RPC 进行了调整的。实际上,RPCSC_GSS 可用于向程序员隐藏 GSS-API 的许多方面,从而使 RPC 安全性具有更强的可访问性和可移植性。有关 RPCSEC_GSS 的更多信息,请参见《ONC+ Developer’s Guide》中的"Authentication Using RPCSEC_GSS"

下图说明了 RPCSEC_GSS 层在应用程序和 GSS-API 之间的位置。

图 4-2 RPCSEC_GSS 和 GSS-API

image:该图显示了为远程过程调用提供安全性的 RPCSEC_GSS 层。

GSS-API 的限制

虽然 GSS-API 使数据保护变得很简单,但是它回避某些任务的做法并不符合 GSS-API 的一般本性。因此,GSS-API 执行以下活动:

GSS-API 的语言绑定

本文档目前仅介绍 GSS-API 的 C 语言绑定,即函数和数据类型。现已推出 Java 绑定版本的 GSS-API。Java GSS-API 包含通用安全服务应用编程接口 (Generic Security Service Application Program Interface, GSS-API) 的 Java 绑定,如 RFC 2853 中所定义。

有关 GSS-API 的更多参考信息

以下两个文档提供有关 GSS-API 的更多信息: