Açıklama Yok

Eric Betts 787aa2316b refactor path creation for dg2/dg7 8 ay önce
.catalog 1ff22f0740 Merge pull request #12 from MangoTornado/main 8 ay önce
.github dc481e4a54 remove unused includes; build on push to main 9 ay önce
images 35ddab5d45 Option to delete saved mrz info 9 ay önce
lib 7238894af2 Add com reading and asn1 parsing 9 ay önce
reference 37b252d2a2 reference material 9 ay önce
scenes 1c1b108d4d Allow shorter passport numbers 8 ay önce
.clang-format 9fe02b0a3e Clear history 9 ay önce
.gitignore 9fe02b0a3e Clear history 9 ay önce
README.md 1ff22f0740 Merge pull request #12 from MangoTornado/main 8 ay önce
application.fam bdcf4d0a8c bump to v1.2 9 ay önce
bsearch.c 88e7f838eb trying to use asn1c to decode DG1 9 ay önce
eMRTD.asn1 7238894af2 Add com reading and asn1 parsing 9 ay önce
memmem.c 89e36f2e4e Look for jpeg header in first 100 bytes of DG2 9 ay önce
passy.c 194c9778d1 For all other DG, grab the header and show that 9 ay önce
passy.h 9ea747ecc9 restructure UI 9 ay önce
passy.png a7876a134a make logo 1-bit 9 ay önce
passy_common.c 6c42d1b981 Fix for document numbers containing Q-Z 9 ay önce
passy_common.h 68c87dcbe2 Fix calculation of file length 9 ay önce
passy_i.h 80348d61d7 Restart NFC scanner is unhandled protocol is found 9 ay önce
passy_reader.c 787aa2316b refactor path creation for dg2/dg7 8 ay önce
passy_reader.h 8611f0508c Accept 4A protocol 9 ay önce
secure_messaging.c 7c05345f96 DRY up key diversification 9 ay önce
secure_messaging.h 633e3da57d handle dynamic passport number length 9 ay önce

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

  • Does not parse some of the optional DG (under 'advanced' menu)

To do

  • Support other country passports

Generate asn:

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