- Saved searches
- Use saved searches to filter your results more quickly
- Smart card readers (Linux and Mac OS X)
- Getting my Smart Card reader to work on Linux
- Install EZ100PU/EZMINI Smart Card Reader Driver for Linux
- Installation
- See Also
- Comments
- More Posts
- Use USB Chip/Smart Card Reader on Arch Linux/Manjaro
- Two Ways to Install Packages from AUR on Arch Linux/Manjaro
- Configure PPPoE DSL Connection on Arch Linux/Manjaro with pppoe-setup
- Auto-Renew Let’s Encrypt Free Certificates for Nginx on Linux
Saved searches
Use saved searches to filter your results more quickly
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session.
Smart card readers (Linux and Mac OS X)
Developer Documentation
Clone this wiki locally
Smart card readers (Linux and Mac OS X)
OpenSC targets smart cards, not smart card readers. So to use your smart card, you need a working smart card reader first.
OpenSC is supposed to work with any supported smart card (see SupportedHardware for a list) if you have a driver for your card reader or USB token. If you’re unsure, you need a PC/SC driver, which 99.9% of vendors provide for at least Windows platform. CT- API drivers are also supported (only if required and a driver is available from reader vendor, CT- API is a deprecated interface) and OpenCT (on Linux/ BSD , if the reader or token does not work with pcsc-lite).
Most common connector type for smart card readers is USB .
Almost all recent USB smart card readers follow the CCID specification. But not all. For USB dongles, a driver is needed for the USB connection if the token uses a proprietary protocol.
For a list of CCID smart card readers supported by libccid see https://ccid.apdu.fr/ccid/section.html. If you are planning to buy a smart card reader, be sure to check for CCID compliance (and extended APDU support if you want to be somewhat future-proof)
Some readers claim “ CCID compatible” in marketing material but are not compliant (don’t work with operating system provided CCID drivers) in real life. Readers known to do this are:
If someone has experience with any of these, please comment.
- https://ftsafe.com/products/reader/Bluetooth SDK available at Github(bR301 and bR301BLE(Bluetooth 4.2) , including for Android, iOS and Windows, Specification Detail)
- https://www.apriva.com/mobile-security/apriva-reader/ ( SDK available under NDA /license, including for Android)
- http://www.blackberry.com/solutions/pdfs/SmartCardReaderBrochure.pdf
- https://baimobile.com/baimobile-readers-1 ?
- https://www.hidglobal.com/products/readers/omnikey/2061 End-of-life (Windows-only PC/SC driver, proprietary/ NDA low level protocol)
- http://images.telos.com/files/external/BT200_Slick.pdf (not reachable)
Getting my Smart Card reader to work on Linux
I got a Smart Card reader, that I ripped from a Laptop the other day. It is an internal Smart Card reader, though it uses USB, so making a cable for it, was no problem. It seems it’s recognized by the USB driver correctly:
[1370965.148035] usb 1-3.2: new low-speed USB device number 25 using ehci-pci [1370965.229948] usb 1-3.2: New USB device found, idVendor=08d4, idProduct=0009 [1370965.229962] usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [1370965.229969] usb 1-3.2: Product: Fujitsu Siemens USB Smartcard Reader [1370965.229976] usb 1-3.2: Manufacturer: OMNIKEY AG
As it is a pretty much bog standard Fujitsu Siemens USB Smartcard Reader, it should be work with the drivers for the «Fujitsu Siemens SmartCard USB 2A» and «Fujitsu Siemens SmartCard Keyboard USB 2A». Both of which are the exact same thing, except the «Keyboard» variant is in permanently attached to a USB keyboard (as in, in the same case). The PC/SC drivers don’t recognize the reader. The readers I mentioned above are supported by libccid, but pcscd can’t recognize the reader by it’s vendor and product IDs:
00000286 hotplug_libudev.c:260:get_driver() Looking for a driver for VID: 0x08D4, PID: 0x0009, path: /dev/bus/usb/001/026
(It just steps over to the next USB device. Eventually, it tries all USB devices and does nothing after that.) I’d like some advice what I should do now? The only thing I can do, is download the CCID driver source and try to hack it in there, or at least that’s the only thing I can come up with right now. Is there anything else I can try? I got a little bit further with OpenCT: I had to uncomment a line in /etc/openct.conf :
I don’t know why the IDs of those cardman drivers are commented-out, maybe the driver isn’t really working yet? Anyway, with this, I can get something with openct-tool :
$ openct-tool list 0 OMNIKEY CardMan 2020/6020/6120
$ openct-tool read Detected OMNIKEY CardMan 2020/6020/6120 Card present, status changed failed to reset card
So, it’s still not working, really. There used to be a driver for PC/SC that supported this card reader: pcsc-lite-cm2020, however, it seems to be gone now. I’ve downloaded the source package from the manufacturer. It is very old. I’ve copied the contents to /usr/lib64/pcsc/drivers , but it doesn’t work obviously, since it’s compiled for the wrong architecture. The only sources in there, compile the kernel module, but not the libcm2020.so that I need for pcscd . I couldn’t find the sources for libcm2020.so , if I’m missing something, and indeed it is possible to compile the library, a hint where to find the sources would be awesome.
Install EZ100PU/EZMINI Smart Card Reader Driver for Linux
The USB chip/smart card reader EZ100PU / EZMINI doesn’t provide a driver for Linux by default. But with a little digging on the Internet, I found a driver for both EZ100PU and EZMINI on Github.
Installation
$ git clone https://github.com/chihchun/ez100pu.git
$ cd driver_ezusb_v1.5.3 $ ./install
/dev/bus/usb Detected USB Device File System Ready! PC/SC Daemon Found! PC/SC Driver Location - /usr/lib/pcsc Reader Installation Successfully! Please reboot your system.
Output
$ cd driver_ezusb_v1.5.3_for_64_bit $ ./install
/dev/bus/usb Detected USB Device File System Ready! PC/SC Daemon Found! PC/SC Driver Location - /usr/lib/pcsc Reader Installation Successfully! Please reboot your system.
Output
See Also
Comments
More Posts
Use USB Chip/Smart Card Reader on Arch Linux/Manjaro
PC/SC (Personal Computer/Smart Card) is not implemented by default on Arch-based Linux. To use your USB chip/smart card reader, we’ll need some essential packages (drivers, tools, etc.) from the official repositories.
Two Ways to Install Packages from AUR on Arch Linux/Manjaro
Just like Debian/Ubuntu’s package manager apt, Arch Linux/Manjaro has its own package manager called pacman to help you install packages. But the story doesn’t end there. On Arch-based Linux you can even install community-maintained packages from AUR (Arch User Repository), which is a lot like PPA (Personal Package Archive) of Ubuntu.
Configure PPPoE DSL Connection on Arch Linux/Manjaro with pppoe-setup
Most ISPs (Internet Service Providers) offer multiple dynamic IP addresses and even come with a static one. To take advantage of that, we’ll be setting up a PPPoE (Point-to-Point Protocol over Ethernet) DSL (Digital Subscriber Line) connection on our own machine to obtain an independent IP address.
Auto-Renew Let’s Encrypt Free Certificates for Nginx on Linux
More than 75% of all websites use HTTPS nowadays. Serving content over HTTPS is not only good practice for search engine optimization (SEO), but essential for security reasons, especially for those requests containing sensitive information.