PC/SC在android上的移植

本文介绍了如何在Android上移植PC/SC(Personal Computer/Smart Card)系统,涉及libusb、pcscd和ccid的源码链接,并分析了测试失败可能的原因,如usbfs未挂载成功。讨论了两种PC/SC通信规范的实现方式,以及reader.conf和info.plist文件的作用。此外,提到了scardctrl、testpcsc和listdevice作为调试工具。
摘要由CSDN通过智能技术生成

本处只讨论分别移植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(移植的开源库),这种方式在内核

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值