JavaScript is required to for searching.
跳过导航链接
退出打印视图
Oracle Solaris 11 开发者安全性指南     Oracle Solaris 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.  Oracle Solaris 密钥管理框架介绍

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

B.  GSS-API 参考

C.  指定 OID

D.  SASL 示例的源代码

E.  SASL 参考表

SASL 接口摘要

词汇表

索引

SASL 接口摘要

下表提供了一些 SASL 接口的简要说明。

表 E-1 通用于客户机和服务器的 SASL 函数

功能
说明
sasl_version
获取 SASL 库的版本信息。
sasl_done
释放所有的 SASL 全局状态。
sasl_dispose
完成连接以后,处置 sasl_conn_t
sasl_getprop
获取属性,例如用户名、安全层信息。
sasl_setprop
设置 SASL 属性。
sasl_errdetail
根据上次出现的连接错误生成字符串。
sasl_errstring
将 SASL 错误代码转换为字符串。
sasl_encode
使用安全层对要发送的数据进行编码。
sasl_encodev
对通过安全层传输的数据块进行编码。 使用 iovec * 作为输入参数。
sasl_listmech
创建可用机制的列表。
sasl_global_listmech
返回所有可能机制的数组。 请注意,此接口已过时。
sasl_seterror
设置将由 sasl_errdetail() 返回的错误字符串。
sasl_idle
配置 saslib 以便在空闲期间或网络往返期间执行计算。
sasl_decode
对使用安全层接收的数据进行解码。

表 E-2 仅限于客户机的基本 SASL 函数

功能
说明
sasl_client_init
最初调用一次,以装入和初始化客户机插件。
sasl_client_new
初始化客户机连接。 设置 sasl_conn_t 上下文。
sasl_client_start
选择连接机制。
sasl_client_step
执行一个验证步骤。

表 E-3 基本的 SASL 服务器函数(客户机可选的)

功能
说明
sasl_server_init
最初调用一次,以装入和初始化服务器插件。
sasl_server_new
初始化服务器连接。 设置 sasl_conn_t 上下文。
sasl_server_start
开始验证交换。
sasl_server_step
执行一个验证交换步骤。
sasl_checkpass
检查纯文本口令短语。
sasl_checkapop
检查 APOP 质询/响应。 使用类似于 CRAM-MD5 机制的伪 APOP 机制 (可选的)。 请注意,此接口已过时。
sasl_user_exists
检查用户是否存在。
sasl_setpass
更改口令。 (可选的)添加用户项。
sasl_auxprop_request
请求辅助属性。
sasl_auxprop_getctx
获取连接的辅助属性上下文。

表 E-4 用于配置基本服务的 SASL 函数

功能
说明
sasl_set_alloc
指定内存分配函数。 请注意,此接口已过时。
sasl_set_mutex
指定互斥函数。 请注意,此接口已过时。
sasl_client_add_plugin
添加客户机插件。
sasl_server_add_plugin
添加服务器插件。
sasl_canonuser_add_plugin
添加用户标准化插件。
sasl_auxprop_add_plugin
添加辅助属性插件。

表 E-5 SASL 实用程序函数

功能
说明
sasl_decode64
使用 base64 解码。
sasl_encode64
使用 base64 编码。
sasl_utf8verify
验证字符串是否为有效的 UTF-8。
sasl_erasebuffer
删除与安全性相关的缓冲区或口令。 实现可能会使用阻止恢复的删除逻辑。

表 E-6 SASL 属性函数

功能
说明
prop_clear()
清除值和(可选的)来自属性上下文的请求
prop_dispose()
处置属性上下文
prop_dup()
创建新的 propctx,以复制现有 propctx 的内容
prop_erase()
删除属性的值
prop_format()
将请求的属性名称格式化为字符串
prop_get()
从上下文中返回 propval 结构的数组
prop_getnames()
填充 struct propval 的数组(在给定属性名称列表时)
prop_new()
创建属性上下文
prop_request()
向请求中添加属性名称
prop_set()
向上下文中添加属性值
prop_setvals()
为属性设置值
sasl_auxprop_getctx()
获取连接的辅助属性上下文
sasl_auxprop_request()
请求辅助属性

表 E-7 回调数据类型

回调
说明
sasl_getopt_t
获取选项值。 客户机和服务器均可使用。
sasl_log_t
记录消息处理程序。 客户机和服务器均可使用。
sasl_getpath_t
获取用于搜索机制的路径。 客户机和服务器均可使用。
sasl_verifyfile_t
验证由 SASL 使用的文件。 客户机和服务器均可使用。
sasl_canon_user_t
用户名标准化函数。 客户机和服务器均可使用。
sasl_getsimple_t
获取用户和语言列表。 仅由客户机使用。
sasl_getsecret_t
获取验证机密。 仅由客户机使用。
sasl_chalprompt_t
显示质询和响应提示。 仅由客户机使用。
sasl_getrealm_t
获取验证领域。 仅由客户机使用。
sasl_authorize_t
授权策略回调。 仅由服务器使用。
sasl_server_userdb_checkpass_t
验证纯文本口令。 仅由服务器使用。
sasl_server_userdb_setpass_t
设置纯文本口令。 仅由服务器使用。

表 E-8 SASL 头文件

头文件
Comments(注释)
sasl/saslplug.h
sasl/sasl.h
开发插件时需要此文件
sasl/saslutil.h
sasl/prop.h

表 E-9 SASL 返回码:一般

返回码
说明
SASL_BADMAC
完整性检查失败
SASL_BADVERS
机制版本之间不匹配
SASL_BADPARAM
提供的参数无效
SASL_BADPROT
错误的协议,取消操作
SASL_BUFOVER
缓冲区溢出
SASL_CONTINUE
验证中需要其他步骤
SASL_FAIL
一般性失败
SASL_NOMECH
不支持机制
SASL_NOMEM
内存不足,无法完成操作
SASL_NOTDONE
无法请求信息,直到以后交换时才能实现
SASL_NOTINIT
SASL 库未初始化
SASL_OK
成功的结果
SASL_TRYAGAIN
瞬态失败,例如弱密钥

表 E-10 SASL 返回码:仅限客户机

功能
说明
SASL_BADSERV
服务器无法执行相互验证步骤
SASL_INTERACT
需要用户交互
SASL_WRONGMECH
机制不支持请求的功能

表 E-11 SASL 返回码:仅限服务器

功能
说明
SASL_BADAUTH
验证失败
SASL_BADVERS
版本与插件不匹配
SASL_DISABLED
帐户已被禁用
SASL_ENCRYPT
使用机制时需要加密
SASL_EXPIRED
口令短语已到期,需要重置
SASL_NOAUTHZ
授权失败
SASL_NOUSER
找不到用户
SASL_NOVERIFY
用户存在,但没有检验器
SASL_TOOWEAK
对于此用户而言,机制太弱
SASL_TRANS
一次性使用纯文本口令即可为用户启用请求的机制
SASL_UNAVAIL
远程验证服务器不可用

表 E-12 SASL 返回码-口令操作

功能
说明
SASL_NOCHANGE
请求的更改不需要
SASL_NOUSERPASS
不允许用户提供的口令
SASL_PWLOCK
口令短语已锁定
SASL_WEAKPASS
对于安全策略而言,口令短语太弱