一、PC/SC规范介绍
PC/SC规范由微软公司与世界其它著名的智能卡厂商组成的PC/SC工作组提出的。PC/SC规范是一个基于WINDOWS平台的一个标准用户接口(API),提供了一个从个人电脑(Personal Computer)到智能卡(SmartCard)的整合环境,虽然到目前为止,WONDOWS是唯一支持PC/SC标准的操作系统平台,但由于WINDOWS的影响力,PC/SC规范也为智能卡业界所接收。到目前为止,PC/SC规范的最新版本是PC/SC Specifications 1.0。
PC/SC规范建立在工业标准
ISO7816和
EMV标准的基础上,但它对底层的设备接口和独立于设备的应用API接口(例如用来允许多个应用共享使用系统同一张智能卡的资源管理器)做了更详尽的补充。它的提出主要是为了达到以下目标:
1)、遵从现在ICC和PC的标准并在适当的地方予在扩充
2)、跨平台的可操作性,使该规范可在多种硬件和软件平台上实现
3)、应用程序可以采用不同厂商提供的产品(独立于厂商)
4)、建立应用级的智能卡服务接口,推广ICC在PC上的应用,并促成PC采用ICC作主标准设备。
二、PC/SC的体系结构
PC/SC体系由三个主要部件组成,分别规定的操作系统厂商、读写器(IFD)厂商、智能卡(ICC)厂商的职责。
1). IFD
(即读写器)控制器是由IFD厂商提供的可安装部件。
2). Resource manager(资源管理器)使用Win32API函数实现,是由操作系统厂商提供的系统级部件。
3). Service Providers(服务提供者),服务程序是由厂商提供的可安装部件,用于提供访问特殊服务的手段,其使用的是基本COM的界面方式。
三、PC/SC的API函数使用方法
PC/SC的API包含30多个以Scard为前缀的函数,所有函数的原型都在winscard.h中声明,应用程序需要包含winscard.lib,所有函数的正常返回值都是SCARD_S_SUCCESS。在这30多个函数中,常用的函数只有几个,下面将详细介绍这些常用函数。