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.  使用智能卡框架

Oracle Solaris 智能卡框架概述

开发智能卡使用者应用程序

SCF 会话接口

SCF 终端接口

SCF 卡和各种接口

为智能卡终端开发 IFD 处理程序

安装智能卡终端

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

B.  GSS-API 参考

C.  指定 OID

D.  SASL 示例的源代码

E.  SASL 参考表

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

词汇表

索引

开发智能卡使用者应用程序

SCF API 提供了一组用于访问智能卡的接口。这些接口采用低级应用程序协议数据单元 (Application Protocol Data Unit, APDU) 形式提供与卡之间的通信。C 和 Java 中都提供了这些接口。这些接口与 Solaris 操作系统支持的所有读取器以及与 APDU 通信的任何智能卡协同工作。SCF API 基于以下组件:

SCF API 提供以下领域的功能:

以下各节提供有关特定 SCF 接口的信息。

SCF 会话接口

以下函数用于 SCF 会话。

SCF_Session_getSession(3SMARTCARD)

使用系统的智能卡框架建立会话。打开会话后,可以将该会话与 SCF_Session_getTerminal(3SMARTCARD) 一同使用,以访问智能卡终端。

SCF_Session_close(3SMARTCARD)

释放打开会话时分配的资源。另外,关闭与该会话关联的所有终端或卡。

SCF_Session_getInfo(3SMARTCARD)

获取有关会话的信息。

SCF_Session_freeInfo(3SMARTCARD)

取消从 SCF_Session_getInfo(3SMARTCARD) 返回的存储的分配。

SCF_Session_getTerminal(3SMARTCARD)

使用特定的智能卡终端在会话中建立上下文。终端对象用于检测卡移动(即插入或移除)。终端对象还用于创建用于访问特定卡的卡对象。

SCF 终端接口

以下函数用于访问 SCF 终端。

SCF_Terminal_close(3SMARTCARD)

释放打开终端时分配的资源。该函数还可以关闭所有与终端关联的卡。

SCF_Terminal_getInfo(3SMARTCARD)

获取有关终端的信息。

SCF_Terminal_freeInfo(3SMARTCARD)

取消从 SCF_Terminal_getInfo(3SMARTCARD) 返回的存储的分配。

SCF_Terminal_waitForCardPresent(3SMARTCARD)

阻塞并等待,直到指定终端中出现卡为止。

SCF_Terminal_waitForCardAbsent(3SMARTCARD)

阻塞并等待,直到指定终端中移除卡为止。

SCF_Terminal_addEventListener(3SMARTCARD)

在终端发生事件时,允许程序接收回调通知。此概念与信号处理程序类似。发生事件时,服务线程将执行提供的回调函数。

SCF_Terminal_updateEventListener(3SMARTCARD)

更新与此终端关联的指定事件侦听器。

SCF_Terminal_removeEventListener(3SMARTCARD)

从与此终端关联的侦听器列表中删除指定的事件侦听器。

SCF_Terminal_getCard(3SMARTCARD)

使用特定的智能卡在终端中建立上下文。可以使用卡对象借助 SCF_Card_exchangeAPDU(3SMARTCARD) 将 APDU 发送给卡。

SCF 卡和各种接口

以下函数用于访问智能卡及获取状态。

SCF_Card_close(3SMARTCARD)

释放打开卡时分配的资源(如内存和线程)。另外,还释放该卡持有的锁定。

SCF_Card_getInfo(3SMARTCARD)

获取有关卡的信息。

SCF_Card_freeInfo(3SMARTCARD)

取消从 SCF_Card_getInfo(3SMARTCARD) 返回的存储的分配。

SCF_Card_lock(3SMARTCARD)

获取对特定卡的锁定。此函数允许应用程序执行多重 APDU 事务,而不会受到其他智能卡应用程序的干扰。

SCF_Card_unlock(3SMARTCARD)

从特定卡中移除锁定。

SCF_Card_exchangeAPDU(3SMARTCARD)

将命令 APDU 发送给卡并读取卡的响应。

SCF_Card_waitForCardRemoved(3SMARTCARD)

检查是否已移除特定卡。如果插入了其他卡或重新插入了同一个卡,则该函数将报告旧卡已被移除。

SCF_Card_reset(3SMARTCARD)

重置特定卡。

SCF_strerror(3SMARTCARD)

获取描述状态代码的字符串。