当前位置: 首页 > 专利查询>许燕专利>正文

HID接口到PC/SC接口转换方法技术

技术编号:4200170 阅读:500 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种Windows平台下实现HID开发接口到PC/SC开发接口转换的方法。此发明专利技术是一个运行在Windows系统核心层的核心服务程序。该服务程序向系统注册HID设备状态监控接口,当有目的HID设备存在时,注册PC/SC设备接口名字和该HID设备对应,当目的HID设备被移除时,反注册对应的PC/SC设备接口名字;该服务程序同时负责PC/SC接口和HID设备之间的数据交互,使应用程序可以利用标准的PC/SC接口直接操控HID接口的USB读卡器/USB KEY;该服务程序不改变系统原有的设备驱动架构,不替换任何现有的文件,原有的HID设备架构和开发接口不受任何影响。该服务程序提供真正的PC/SC接口,和原有的应用程序无缝兼容。

【技术实现步骤摘要】

本专利技术涉及一种在Windows平台下进行应用程序开发接口 (API)转换的方法,主要是实现HID开发接口到PC/SC开发接口的转换。使开发人员可以直接利用PC/SC接口对HID接口的读卡器/USB KEY设备进行开发,从而实现用标准接口操纵HID接口的读卡器/USB KEY设备。当系统中存在HID接口的读卡器/USB KEY设备时,该方法会自动在系统中添加对应的PC/SC设备接口名字,利用该PC/SC设备接口名字就可以直接访问对应的HID接口的读卡器/ USB KEY设备。
技术介绍
目前,智能卡读卡器/(USBKEY)在计算机安全领i或,尤其是身份识别方面的应用已经非常普遍。为了应对这个需求,Windows平台专门集成了对读卡器设备的支持,Windows提供了一套标准的PC/SC开发接口。只要用户安装了读卡器设备和标准的读卡器设备驱动,那么皆可以凭借Windows的标准PC/SC接口函数进行读卡器/ USB KEY的访问(Windows的PC/SC接口会自动和系统中存在的U S B读卡器/ USB KEY设备驱动进行交互)。用户利用这套接口开发的应用程序是独立于具体硬件和厂商的,这就给最终用户带来了极大的方便。但是读卡器设备不是一种标准设备,每个厂商为了提供给用户读卡器功能服务都需要另外为用户提供一套读卡器的设备驱动,这个设备驱动的功能主要就是操控厂商自己的读卡器设备和Windows的PC/SC接口进行数据交互以实现智能卡操作。这种模式目前是比较普遍的。这种模式目前存在以下几个使所有厂商都比较头痛的普遍问题1. 驱动程序签名。驱动程序需要经过微软的数字签名,这是一笔不小的开销,而且每次升级都需要重新进行数字签名。2. 驱动程序安装。客户端的驱动程序安装是一个比较麻烦的过程,尤其对于那些普通用户来说,更是如此,往往因为用户使用环境的差异造成安装时出现各种异常。3. 设备异常处理。需要解决读卡器在操作过程中移除时导致的系统蓝屏问题。需要处理设备的电源和PNP信息。4. 不同厂商的驱动程序的相互兼容性问题。目前市场上存在着多种品牌的智能卡读卡器,这些不同的智能卡读卡器都使用着各个厂商自己开发的驱动。进行卡片发放和集中认证的单位和个人,如发卡中心,身份识别部门,安全检査部门等。因为基于一些市场,安全和技术等方面的考虑这些部门有时侯会采用不同的读卡器,这样一来,这些客户势必要安装不同的驱动。这些驱动的安装本身就是一个比较麻烦的过程,由于不同得客户使用的环境差别很大,因此不同厂家开发的驱动常常会存在不同程度的相互影响,这就给客户的R常维护带来了极大的麻烦。目前来讲这是一个普遍令客户和厂商比较头痛的问题。针对上述这些情况,市场上出现了一些"无驱型"的智能卡读卡器/(USB KEY)。这些智能卡读卡器使用了Windows系统自己携带的HID驱动,这样就免去了客户安装和维护驱动遇到的麻烦,也避免了不同厂家的驱动程序相互冲突的问题。极大地简化了用户的维护负担。但是由于这种读卡器使用了HID设备驱动,因此Windows操作系统提供的标准PC/SC接口无法和这种设备进行交互(Windows的PC/SC接口只会和系统中存在的读卡器设备驱动进行交互,Windows操作系统专门提供的HID开发接口才可以操纵HID设备)。也就是说上层应用只能通过HID接口来操作这种智能卡读卡器/(USB KEY),而这一套接口跟本不是用于智能卡的操作接口,大多数的智能卡/(USB KEY)应用开发人员跟本不熟悉这一套接口,这就给丌发和应用带来了一些不便。提供这种智能卡读卡器/(USB KEY)的厂商为了弥补这个不足,不得不提供相应的中间件,这些中间件给用户提供"仿PC/SC"接口中间件向下利用HID接口来操纵真实的读卡器,向上提供一些类似于标准PC/SC接口得私有接口。但是这种解决方案同时带来了新的问题兼容性和通用性。不同的厂商提供的中间件实现的方法差别极大,他们提供的"仿PC/SC接口"和真实的PC/SC接口的差别程度也不一样。这样一来客户开发的同一个智能卡读卡器/(USB KEY)应用程序可能无法完全应用到不同厂商的这种"无驱型"的智能卡读卡器/(USB KEY)上。同时这些中间件的稳定程度也极大的影响着应用程序的稳定性。
技术实现思路
为了克服现有的USB无驱读卡器/USB KEY的不足,本专利技术提供一种HID接口到PC/SC接口转换器。这种HID接口到PC/SC接口转换器可以直接使用Windows操作系统提供的HID设备驱动来操纵HID接口的USB读卡器/(USB KEY);同时它又可以和系统的PC/SC接口管理器进行交互,从而使终端用户可以使用标准的PC/SC开发接口来操纵HID接口的USB读卡器/(USBKEY)。以保证终端用户的开发经验、已开发模块和库函数可以得到充分利用。本专利技术解决其技术问题所采用的技术方案是向Windows操作系统注册并启用一个系统核心服务,这个核心服务向上负责给用户提供PC/SC接口,向下负责操纵真实的HID接口的USB读卡器/USB KEY设备。核心服务向Windows系统注册一个HID设备状态监控接口 ,这个接口负责监控并查询系统中的HID设备的状态。如果发现一个存在的目标HID设备,那么就激活注册的相应的PC/SC接口供应用程序访问;如果发现一个刈除的目标HID设备,那么就禁止注册的相应的PC/SC接口以通知应用程序该读卡器/KEY不可访问.核心服务接受从PC/SC接口发送来的数据请求并按照HID接口规范把数据转发给相应得HID设备,然后把HID设备返回的数据按照7 8 1 6协议通过PC/SC接口返回给应用程序。从而达到利用标准的PC/SC访问HID接口 USB读卡器/ USBKEY的目的。这个方案中提供的PC/SC接口是真实的PC/SC接口,因此原有的PC/SC接口的程序和库函数都可以直接使用该接口而不用作任何改动。同时该方案不需要更改系统的任何文件或者接口,从而可以最大限度的保证兼容性和稳定性。这些特点优于市场上已有的任何"仿PC/SC接口"的产品。由于采用了以上技术方案,使本专利技术具有1:可以让用户在使用无驱USB读卡器/USB KEY时既可以享用无驱设备带来的便捷、简单和易于维护,又可以使用标准的PC/SC开发接口来操控这些设备,原有的开发经验和软件资源可以得到完全的充分利用而不会额外增加成本。2:有助于开发模块的标准化和通用性。以前利用标准PC/SC接口库开发成功的智能卡应用程序可以直接使用无驱USB读卡器/USB KEY而无需做任何更改,新开发的应用程序使用的是标准的PC/SC接口库,也可以方便的应用在其他PC/SC接口的设备上。3:提供了极大的兼容性和通用性,客户免除了驱动安装和维护的烦恼,同时又可以利用标准的PC/SC接口像以前一样操纵这个U S B读卡器/ USB KEY。上层的应用程序无需作任何改动就能兼容现有的新设备,极大的縮短了客户的研发周期并节省了大量的研发开销。4:有助于客户采用不同的硬件设备来增加系统的稳定和健壮性,无驱的USB读卡器/USBKEY易于安装,无需维护,同时标准的开发接口又可以使用户实现上层软件的统一。因此用户可以根据实际情况来采用不同的设备而不用担心本文档来自技高网
...

【技术保护点】
一种进行HID接口到PC/SC接口转换的核心服务程序,在核心服务程序中注册了PC/SC接口和HID接口监控器。其特征是:一个普通的系统核心服务程序,当该核心服务程序运行时,系统当中的目标HID设备可以被转换成USB读卡器/USB KEY设备。该服务程序对于应用程序来讲是完全透明的,应用程序是直接通过PC/SC接口来访问这些HID设备,不会意识到服务程序的存在。服务程序不更改或者替换系统中现有的任何文件。

【技术特征摘要】

【专利技术属性】
技术研发人员:
申请(专利权)人:许燕
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1