Sem descrição

Eric Betts 47986d74cf Sync readme há 8 meses atrás
.catalog 47986d74cf Sync readme há 8 meses atrás
.github dc481e4a54 remove unused includes; build on push to main há 9 meses atrás
images 0939786adf Save epassport logos há 8 meses atrás
lib 7238894af2 Add com reading and asn1 parsing há 9 meses atrás
reference 37b252d2a2 reference material há 9 meses atrás
scenes 6e996478c0 Remove uncalled callback há 8 meses atrás
.clang-format 9fe02b0a3e Clear history há 9 meses atrás
.gitignore 9fe02b0a3e Clear history há 9 meses atrás
README.md 47986d74cf Sync readme há 8 meses atrás
application.fam 7581bc2191 more changelog items há 8 meses atrás
bsearch.c 88e7f838eb trying to use asn1c to decode DG1 há 9 meses atrás
eMRTD.asn1 7238894af2 Add com reading and asn1 parsing há 9 meses atrás
memmem.c 89e36f2e4e Look for jpeg header in first 100 bytes of DG2 há 9 meses atrás
passy.c 194c9778d1 For all other DG, grab the header and show that há 9 meses atrás
passy.h 9ea747ecc9 restructure UI há 9 meses atrás
passy.png 36d65b1f64 new icon há 8 meses atrás
passy_common.c 6c42d1b981 Fix for document numbers containing Q-Z há 9 meses atrás
passy_common.h 68c87dcbe2 Fix calculation of file length há 9 meses atrás
passy_i.h 80348d61d7 Restart NFC scanner is unhandled protocol is found há 9 meses atrás
passy_reader.c a6cbfb0572 Limit printing during long transactions há 8 meses atrás
passy_reader.h 8611f0508c Accept 4A protocol há 9 meses atrás
secure_messaging.c 7c05345f96 DRY up key diversification há 9 meses atrás
secure_messaging.h 633e3da57d handle dynamic passport number length há 9 meses atrás

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