linux下pcsc读卡器驱动安装及使用

安装linux的pcscd服务
需要安装libusb,ccid,pcsc-lite三个库

  1. libusb安装
    下载网址: https://sourceforge.net/projects/libusb/files/latest/download
    下载之后解压安装包
    tar jxvf libusb-版本号.tar.gz
    编译且安装
    $ cd libusb-版本号
    $ ./configure
    $ ./make
    $ ./make install <- 要有 root 权限,Ubuntu 下可以 sudo ./make install
    运行做测试:
    $ lsusb
    显示出如下类似信息则为安装成功Bus 002 Device 002: ID 413c:2105 Dell Computer Corp. Model L100 Keyboard

  2. 安装ccid
    下载地址:Download (apdu.fr)
    在这里插入图片描述
    我选择的是ccid-1.4.33.tar.bz2, 其他版本应该也可以
    然后按照与libusb同样的方式解压、编译、安装
    在安装好 pcsc-lite 后一块做测试。

  3. 安装pcsc-lite
    下载地址: 1.8.10-1ubuntu1 : pcsc-lite package : Ubuntu (launchpad.net)
    在这里插入图片描述
    选择pcsc-lite_1.8.10.orig.tar.bz2
    下载好之后同样解压且安装
    然后可以启动pcscd服务运行测试了,插上读卡器,输入
    $ sudo /usr/local/sbin/pcscd -adf (要用 root 权限启动 pcscd 服务)

    结果如下

00000013 pcscdaemon.c:545:main() pcsc-lite 1.8.10 daemon ready.
00002566 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000125 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000134 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x413C, PID: 0x301A, path: /dev/bus/usb/001/002
00000117 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x1D6B, PID: 0x0002, path: /dev/bus/usb/001/001
00000133 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x08E6, PID: 0x3437, path: /dev/bus/usb/001/006
00000039 hotplug_libudev.c:269:get_driver() Looking for a driver for VID: 0x08E6, PID: 0x3437, path: /dev/bus/usb/001/006
00000008 hotplug_libudev.c:321:HPAddDevice() Adding USB device: Gemalto PC Twin Reader
...
eventhandler.c:266:EHStatusHandlerThread() powerState: POWER_STATE_POWERED
00000038 Card ATR: 3B 97 95 80 1F 47 80 31 E0 73 FE 21 1B 3C 
00005038 ifdhandler.c:1167:IFDHPowerICC() action: PowerDown, usb:08e6/3437:libudev:0:/dev/bus/usb/001/006 (lun: 0)

可看到pcsc-lite 1.8.10 daemon ready. pcscd进程已经成功启动了,并且连接上了读卡器,有ATR返回,卡启动成功。

如果出现以下错误

  • error while loading shared libraries:libpkcs15init.so.2: cannot open
    shared object file: No such file or directory

    解决方案: $ sudo ldconfig <- 重新加载一下动态连接库的索引

  • 00001001 hotplug_libhal.c:527:HPRegisterForHotplugEvents()No bundle
    files in pcsc drivers directory: /usr/local/pcsc/drivers

    解决方案: 按照步骤2安装 ccid 驱动

4.运行示例程序
/pcsc-lite-1.8.10/doc/example中有示例程序pcsc_demo.c
编译:gcc pcsc_demo.c -I /usr/local/include/PCSC -L. /usr/local/lib/libpcsclite.so
一定要加上动态库路径和头文件路径
编译成功后运行
在这里插入图片描述

可看到已经连接读卡器,成功执行APDU命令。

执行时若遇到错误
SCardEstablishContext: Cannot Connect to Resource Manager 8010001D
原因是没有启动pcscd服务
执行 sudo pcscd -d -f启动

参考:(10条消息) 智能卡编程环境搭建-libusb,ccid,pcsc-lite,opensc_weixin_34112208的博客-CSDN博客

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值