flutter_cccd_vn 2.0.2
flutter_cccd_vn: ^2.0.2 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.2 #
- Fix all
dart analyzewarnings (163 → 0): removed unreachable switch defaults, dead code, unused imports, and provably-always-true/false null checks and non-null assertions. Each change is a no-op at runtime; verified against the full test suite (79/79), including BAC/PACE/AES ICAO test vectors. - Bump
flutter_nfc_kitconstraint^3.6.0-rc.6→^3.6.0, resolving to the stable 3.6.2 release instead of a release candidate. - Add
repository/homepagetopubspec.yaml. - No API changes.
2.0.1 #
- Docs: rewrite
README.md(reordered sections, fixed a broken passport example, documented the CAN-lessCccdMrzflow and the chip's 9-digit vs. Vietnam's 12-digit document number) and add a fullerREADME.vi.mdVietnamese translation with an exception reference table and FAQ. - Add
LICENSE(LGPL-3.0 text) andCHANGELOG.mdfor pub.dev. - No API changes.
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.