Main components of the Smart Card Connector App:
- PC/SC-Lite Daemon,
- CCID Free Software Driver,
- UI.
The app is bundled with a port of the PC/SC-Lite daemon. For the background, see the original documentation of the PC/SC-Lite daemon on Linux: http://linux.die.net/man/8/pcscd.
The daemon is ported using the Emscripten/WebAssembly technology for running inside the JavaScript-based app.
Our port of the daemon exposes the PC/SC API to other ChromeOS extensions/apps: see docs/connector-app-api.md.
The app is bundled with the CCID Free Software Driver (https://ccid.apdu.fr/). This driver implements talking to smart card readers that are compatible with the CCID specification.
Similar to the PC/SC-lite Daemon, the CCID Free Software Driver is ported using the Emscripten/WebAssembly technology.
The low-level USB operations are implemented using our port of the libusb library, which is redirecting all requests to the chrome.usb API (see https://developer.chrome.com/apps/usb).
See docs/building.md.
-
Pluggable smart card reader drivers.
Currently, there's only the CCID Free Software Driver supported. We might want to extend this in the future, by exposing a new API that would allow separate ChromeOS extensions/apps to implement drivers for other devices.
- Updating the used version of the PC/SC-Lite Daemon: docs/updating-pcsc-lite.md.
- Updating the used version of the CCID Free Software Driver: docs/updating-ccid.md.