Brak opisu

Smarten7 bcf3d4b34b Update README.md - Tested Estonia 7 miesięcy temu
.catalog 1e8b690a53 sync catalog readme to main readme 8 miesięcy temu
.github dc481e4a54 remove unused includes; build on push to main 9 miesięcy temu
images 0939786adf Save epassport logos 8 miesięcy temu
lib 7238894af2 Add com reading and asn1 parsing 9 miesięcy temu
reference 37b252d2a2 reference material 9 miesięcy temu
scenes a193ddf9a2 uppercase all letters in passport number 8 miesięcy temu
.clang-format 9fe02b0a3e Clear history 9 miesięcy temu
.gitignore 9fe02b0a3e Clear history 9 miesięcy temu
LICENSE b8c7803b36 Create LICENSE 8 miesięcy temu
README.md bcf3d4b34b Update README.md - Tested Estonia 7 miesięcy temu
application.fam 7581bc2191 more changelog items 8 miesięcy temu
bsearch.c 88e7f838eb trying to use asn1c to decode DG1 9 miesięcy temu
eMRTD.asn1 7238894af2 Add com reading and asn1 parsing 9 miesięcy temu
memmem.c 89e36f2e4e Look for jpeg header in first 100 bytes of DG2 9 miesięcy temu
passy.c 194c9778d1 For all other DG, grab the header and show that 9 miesięcy temu
passy.h 9ea747ecc9 restructure UI 9 miesięcy temu
passy.png 36d65b1f64 new icon 8 miesięcy temu
passy_common.c 6c42d1b981 Fix for document numbers containing Q-Z 9 miesięcy temu
passy_common.h 68c87dcbe2 Fix calculation of file length 9 miesięcy temu
passy_i.h 80348d61d7 Restart NFC scanner is unhandled protocol is found 9 miesięcy temu
passy_reader.c 81360b90d7 Correct fallback when dg2 image header can't be found 8 miesięcy temu
passy_reader.h 8611f0508c Accept 4A protocol 9 miesięcy temu
secure_messaging.c 7c05345f96 DRY up key diversification 9 miesięcy temu
secure_messaging.h 633e3da57d handle dynamic passport number length 9 miesięcy temu

README.md

Passy: A Flipper Zero Passport reader

Tested with the following countries:

🇺🇸 🇨🇱 🇫🇷 🇬🇧 🇵🇭 🇷🇺 🇹🇼 🇺🇦 🇦🇿 🇨🇦 🇮🇹 🇪🇸 🇪🇪

(If it works for yours, submit a PR to add your country flag)

To use:

eMTRD are secured to prevent people from reading the data on a passport just by bumping into it. The data is secured using a key based on the passport number, date of birth, and date of expiry. A real passport machine reads these values from the MRZ (Machine Readable Zone, the ones with ">") using a camera. For the app, you have to enter the values manually. The app will then generate the key and read the data using a system called BAC(https://en.wikipedia.org/wiki/Basic_access_control).

Limitations

  • Avanced menu hidden unless Debug enabled
  • Does not parse some DG under "advanced" menu

To do

  • Support PACE
  • Support other country passports

Generate asn:

asn1c -D ./lib/asn1 -no-gen-example -pdu=all eMRTD.asn1