Bez popisu

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

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