eid_ccid

Video tour Pub Version Build Maintainer Licence Platforms Donate with PayPal

Reads electronic identity cards through a USB or PC/SC card reader in Flutter: the eid transport for the ccid plugin.

Which packages for which document: a Belgian card in a USB reader takes eid_belgium and eid_ccid and needs no key; a passport or an EU identity card takes eid_icao, with eid_nfc on a phone or eid_ccid on a contactless USB reader, and needs the CAN or the MRZ

Install

dependencies:
  eid_ccid: ^0.1.0
  eid_belgium: ^0.1.0 # or another country
Platform Through Setup
Windows PC/SC None
Linux PC/SC pcscd and libpcsclite1
macOS, iOS CryptoTokenKit The com.apple.security.smartcard entitlement
Android USB host mode A reader on USB OTG

Browsers cannot reach a card reader.

Read a card

final readers = await CcidTransport.listReaders();
final transport = await CcidTransport.connect(readers.first);
try {
  final eid = await BelgianEidReader(transport).read();
} finally {
  await transport.disconnect();
}

Read on insertion

final watcher = BelgianEidWatcher(CcidTerminal.any())..start();

CcidTerminal.any() watches every reader, those plugged in later included; CcidTerminal.list() gives each one.

License

Released under the MIT licence.

More from COMAPPS

Electronic identity cards in Dart:

Package What it does
eid APDUs, ISO 7816-4 file reading and the values national cards share.
eid_belgium The Belgian eID, Kids ID and residence cards, through their contact chip.
eid_icao Passports and identity cards with an ICAO 9303 chip.
eid_nfc The transport for the NFC of an Android phone or an iPhone.

Every package COMAPPS publishes is listed at packages.comapps.be.

Libraries

eid_ccid
Reads electronic identity cards through a USB or PC/SC card reader.