PC/SC在android上的移植

原创 2015年11月21日 20:29:25

本处只讨论分别移植libusb,pcsc和ccid部分,主要涉及到的源码为:

libusb:http://sourceforge.net/projects/libusb/

pcscd:https://github.com/mikma/pcsc-lite-android

ccid:https://github.com/mikma/ccid-android


使用testpcsc测试失败的原因是因为pcscd没有正常启动,有可能涉及到usbfs有没有挂载成功,由于测试的时候手机是作为一个device设备,

 不是一个host,所以在没有插入一个device设备也就没有生成该节点。可以通过查看dev/bus/usb是否有建立。而libusb在加载的时候会去检

测 usbfs,一 旦检 测失败pcscd也就退出了,有时也会出现僵死情况。

reader.conf个人理解是用pcscd守护进程(用户空间)可以有两种方式和内核层进行通信。这又涉及到PC/SC这个读卡的通信规范。

一般情况下可以这么理解:pcscd守护进程<—>ccid(usb转换成卡的协议)<— >libusb(泛指 枚举usb)<—>读卡设备

第一种方式(没有具体验证过),将ccid+libusb(泛指usb协议)放在内核中做,内核向用户空间提供一个tty接口,那对用户空间来说操作起来

就相对简单,直接当一个串口设备操作,这种情况下,android上只要移植pscs这个库,同时需要reader.conf这个文件来配置串口设备。

第二种方式,将ccid+libusb(移植的开源库),这种方式在内核层做的就相对简单,只需要将读卡器注册 成usbfs设备就行了,而繁重的usb枚举,

ccid协议转换都将有用户空间来做,这时候就不需要reader.conf但由于涉及到usb枚举就需要另一个文件info.plist。这个文件在 ccid库中会自动生成

(如果没有的话可以先编译一个PC版本的就可以得到),里面已经包含了很多型号。将自己的模块信息加进去就行了。

scardcontril,testpcsc分别用来调试ccid和pcscd,另外libusb可以用 listdevice(lsusb)来测试。


一个完整的例子:https://github.com/mikma/androidsc-usb,这个没有尝试过。

版权声明:本文为博主原创文章,未经博主允许不得转载。

Android wpa_supplicant源码分析--启动之网络接口初始化

1 wpa_supplicant结构体与网络接口在手机adb中运行 netcfg或者ifconfig可以看到相关的网络接口的ip,掩码,mac地址等信息 Wpa_supplicant为每个网络接口都...
  • cuijiyue
  • cuijiyue
  • 2016年05月15日 22:21
  • 5906

PCSC-LITE使用及移植总结

PCSC-Lite应该是Personal Computer/Smart Card lite的缩写。 PCSC-Lite 以后简称PCSC是为智能卡提供驱动和开发的linxu精简版。本文主要总结工作中...
  • fafactx
  • fafactx
  • 2014年04月04日 14:00
  • 3704

pcsc协议以及测试程序

  • 2017年11月21日 10:21
  • 2.33MB
  • 下载

个人计算机智能卡(PCSC)API

一、IC卡與作業系統的整合前面所談的標準及各種IC卡的規格,多半只論及IC卡或讀卡機。使用者要使用讀卡機時,必須安裝廠商提供之驅動程式(drivers),開發應用程式。PC/SC(Personal C...
  • zeng622peng
  • zeng622peng
  • 2010年04月24日 10:09
  • 2421

android智能卡检测程序源码以及apk程序以及libpcsclite.so和libpcsclite.a,还包含android.mk文件

  • 2012年12月19日 13:47
  • 420KB
  • 下载

智能卡操作及11.11指令封装PCSC类

  • 2010年05月17日 21:37
  • 10KB
  • 下载

PC/SC简介以及相关开发

一、PC/SC规范介绍         PC/SC规范由微软公司与世界其它著名的智能卡厂商组成的PC/SC工作组提出的。PC/SC规范是一个基于WINDOWS平台的一个标准用户接口(API),提供了...
  • duanxingheng
  • duanxingheng
  • 2013年09月04日 14:28
  • 2502

ubuntu--访问PC/SC读卡器

因为PC/SC是Windows的体系,以系统API的层面服务应用。所以一直以来智能卡相关的读卡器和工具都集中在Windows上,而在 unix体系下则一直水土不服。值得庆幸的是随着开源组织M.U.S....
  • fouweng
  • fouweng
  • 2016年12月02日 15:53
  • 874

windows PC/SC 常用Scard前缀函数说明

Windows系统提供了大量的API来方便的进行智能卡应用程序的开发,通过它们我们可以直接控制智能卡读卡器对智能卡进行操作,也可以与智能卡建立直接的虚拟连接而不用考虑智能卡读卡器。 智能卡应用程序开...
  • twphoenix
  • twphoenix
  • 2016年01月14日 15:52
  • 1846

VC中PC/SC智能卡接口的编程(-)

最近用到了PC/SC编程,这篇文章写的非常好。 另:自己编写的用实物测试过的程序源码:http://download.csdn.net/detail/jixuxiangqianzou/5633553...
  • JiXuXiangQianZou
  • JiXuXiangQianZou
  • 2013年06月11日 07:56
  • 878
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PC/SC在android上的移植
举报原因:
原因补充:

(最多只允许输入30个字)