Нема описа

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

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