《Solaris 开发者安全性指南》介绍了用于 SolarisTM 操作环境中的安全功能的公共应用编程接口 (application programming interface, API) 和服务提供者接口 (service provider interface, SPI)。术语服务提供者指插入框架以提供安全服务的组件,如加密算法和安全协议。
此 Solaris 发行版支持使用以下 SPARC® 和 x86 系列处理器体系结构的系统:UltraSPARC®、SPARC64、AMD64、Pentium 和 Xeon EM64T。支持的系统可以在 http://www.sun.com/bigadmin/hcl 上的 Solaris OS: Hardware Compatibility Lists 中找到。本文档列举了在不同类型的平台上进行实现时的所有差别。
在本文档中,这些与 x86 相关的术语表示以下含义:
“x86” 泛指 64 位和 32 位的 x86 兼容产品系列。
“x64” 指出了有关 AMD64 或 EM64T 系统的特定 64 位信息。
“32 位 x86” 指出了有关基于 x86 的系统的特定 32 位信息。
若想了解本发行版支持哪些系统,请参见 Solaris OS: Hardware Compatibility Lists。
《Solaris 开发者安全性指南》适用于需要编写以下类型程序的 C 语言开发者:
可以覆盖系统控件的特权应用程序
使用验证和相关安全服务的应用程序
需要保护网络通信的应用程序
使用加密服务的应用程序
提供或使用安全服务的库、共享对象和插件
若想了解 Solaris 功能有哪些 java 语言等效内容,请访问 http://www.java.sun.com/security/index.jsp。
本指南的读者应该熟悉 C 语言编程。了解安全机制的基础知识是有帮助的,但不是必需的。使用本书无需网络编程的专业知识。
本书分为以下各章。
第 1 章,面向开发者的 Solaris 安全(概述)介绍了 Solaris 安全性。
第 2 章,开发特权应用程序介绍了如何编写使用进程权限的特权应用程序。
第 3 章,编写 PAM 应用程序和服务介绍了如何编写可插拔验证模块 (pluggable authentication module, PAM)。
第 4 章,编写使用 GSS-API 的应用程序介绍了通用安全服务应用编程接口 (Generic Security Service Application Programming Interface, GSS-API)。
第 5 章,GSS-API 客户机示例和第 6 章,GSS-API 服务器示例两章分别概括介绍了 GSS-API 示例。
第 7 章,编写使用 SASL 的应用程序介绍了如何编写简单验证和安全层 (Simple Authentication and Security Layer, SASL) 应用程序。
第 8 章,Solaris 加密框架介绍分别针对用户级别和内核级别提供了 Solaris 加密框架的概述。
第 9 章,编写用户级加密应用程序和提供者介绍了如何为用户级别的 Solaris 加密框架编写消费方和提供者。
第 10 章,使用智能卡框架介绍了 Solaris 智能卡框架。
附录 A,基于 C 的 GSS-API 样例程序 提供了 GSS-API 示例的完整代码列表。
附录 B,GSS-API 参考 提供了 GSS-API 中各个项的参考信息。
附录 C,指定 OID 介绍了如何指定机制。当使用缺省机制之外的机制时需要使用此技术。
附录 D,SASL 示例的源代码 提供了 SASL 示例的完整代码列表。
附录 E,SASL 参考表 对主要 SASL 接口进行了简要说明。
附录 F,打包和签署加密提供者 介绍了如何对加密提供者进行打包和签名。
词汇表提供了本手册中使用的有关安全方面的术语的定义。
有关安全功能的其他信息,请参见以下资料:
《系统管理指南:安全性服务》从系统管理员的角度介绍了 Solaris 安全功能。
Generic Security Service Application Program Interface 文档 (ftp://ftp.isi.edu/in-notes/rfc2743.txt) 概述了 GSS-API 的概念。
Generic Security Service API Version 2: C-Bindings 文档 (ftp://ftp.isi.edu/in-notes/rfc2744.txt) 介绍了基于 C 语言的 GSS-API 的具体信息。
《ONC+ Developer’s Guide》提供了有关远程过程调用的信息。
Sun Web 站点提供有关以下附加资源的信息:
下表介绍了本书中的印刷约定。
表 P–1 印刷约定
字体 |
含义 |
示例 |
---|---|---|
AaBbCc123 |
命令、文件和目录的名称;计算机屏幕输出 |
编辑 .login 文件。 使用 ls -a 列出所有文件。 machine_name% you have mail. |
AaBbCc123 |
用户键入的内容,与计算机屏幕输出的显示不同 |
machine_name% su Password: |
aabbcc123 |
要使用实名或值替换的命令行占位符 |
删除文件的命令为 rm filename。 |
AaBbCc123 |
保留未译的新词或术语以及要强调的词 |
这些称为 Class 选项。 注意:有些强调的项目在联机时以粗体显示。 |
新词术语强调 |
新词或术语以及要强调的词 |
高速缓存是存储在本地的副本。 请勿保存文件。 |
《书名》 |
书名 |
阅读《用户指南》的第 6 章。 |
下表列出了 C shell、Bourne shell 和 Korn shell 的缺省 UNIX® 系统提示符和超级用户提示符。
表 P–2 Shell 提示符
Shell |
提示符 |
---|---|
C shell |
machine_name% |
C shell 超级用户 |
machine_name# |
Bourne shell 和 Korn shell |
$ |
Bourne shell 和 Korn shell 超级用户 |
# |