flutter_cccd_vn 2.0.0
flutter_cccd_vn: ^2.0.0 copied to clipboard
ICAO Doc 9303 MRTD (biometric passport) Dart library with a Vietnamese CCCD (căn cước công dân) NFC reading adapter — BAC/PACE, OCR-driven credentials, and a typed CCCD data/verification API.
Changelog #
2.0.0 #
First release under the flutter_cccd_vn name — a fork of
ZeroPass/dmrtd 2.0.0 that adds a
Vietnamese CCCD (căn cước công dân) reading adapter on top of the original
ICAO 9303 MRTD implementation. The underlying passport/MRTD API is
unchanged; existing dmrtd users only need to update their import to
package:flutter_cccd_vn/....
Added:
CccdReader/CccdProtocol/IcaoCccdProtocol: a typed, retrying CCCD reader built on the existing BAC/PACE session and secure-messaging layer.CccdCanandCccdMrzcredentials — PACE via CAN, or BAC via the card's document number, date of birth and date of expiry (no CAN required).CccdReadProgresscallback reporting real per-EF read progress (documentNumber → EF.COM → portrait → …), not a synthetic animation.CccdOcrParser: Vietnamese-label OCR text parsing for both the 2021 "CCCD gắn chip" and 2024 "Căn cước" card layouts, with a checksum-validated MRZ fast path that wins over free-text label scraping when the printed MRZ decodes cleanly.CccdVerificationResult/CccdFaceMatchResult: pure-Dart contracts for comparing NFC chip data, OCR text and an on-device face match, tolerant of the chip's 9-digit ICAO document number vs. Vietnam's 12-digit số định danh.- Typed CCCD exceptions (
CccdTimeoutException,CccdAuthenticationException,CccdConnectionException, etc.) mapped from transport/ICAO errors.
Changed:
- Package renamed
dmrtd→flutter_cccd_vn; default NFC read chunk size raised from 224 to 1024 bytes (Extended Length APDU, with automatic fallback) to reduce round-trips when reading the portrait (DG2).
See example/ for a full capture → OCR → NFC scan → verification flow built on this API.