Online Store

Υποστήριξη βιβλιοθήκης uFCoder μηχανικά αναγνώσιμα ταξιδιωτικά έγγραφα (MRTD)

Εισαγωγή #

Η υποστήριξη για την ανάγνωση ομάδων δεδομένων από την ετικέτα NFC που είναι ενσωματωμένη στα μηχανικά αναγνώσιμα ταξιδιωτικά έγγραφα (MRTD), συμπεριλαμβανομένων των ePassports που συμμορφώνονται με τις προδιαγραφές του ICAO, έχει υλοποιηθεί στη βιβλιοθήκη uFCoder.

Η υλοποίηση υποστηρίζει τον μηχανισμό βασικού ελέγχου πρόσβασης (BAC) για πρόσβαση σε τσιπ NFC. Το BAC επιτρέπει τον έλεγχο ταυτότητας και ένα ασφαλές κανάλι κρυπτογραφικής επικοινωνίας με μια ετικέτα NFC ενσωματωμένη στο MRTD. Το BAC βασίζεται αποκλειστικά σε συμμετρική κρυπτογραφία χρησιμοποιώντας τον αλγόριθμο 3DES και υλοποιείται σύμφωνα με τον ICAO 9303, μέρος 11.

ΔΟΠΑ σημαίνει Διεθνής Οργανισμός Πολιτικής Αεροπορίας (https://www.icao.int). Η προδιαγραφή ICAO 9303 τυποποιεί τα MRTD, συμπεριλαμβανομένων των ePassports. Μπορείτε να βρείτε ολόκληρη τη σειρά ICAO Doc 9303 σε https://www.icao.int/publications/pages/publication.aspx?docnum=9303τοποθεσία web.

Ο βασικός έλεγχος πρόσβασης MRTDs υποστηρίζεται στη βιβλιοθήκη uFCoder από την έκδοση 5.0.12.

Για να πιστοποιήσετε πρώτα την ετικέτα NFC που είναι ενσωματωμένη στο MRTD, πρέπει πρώτα να περάσετε τον αριθμό του εγγράφου, την ημερομηνία γέννησης του κατόχου του εγγράφου και την ημερομηνία λήξης του εγγράφου για να λειτουργήσει MRTD_MRZDataToMRZProtoKey() για να λάβετε το "κλειδί proto" από το οποίο θα προκύψουν άλλα απαραίτητα κλειδιά ασφαλείας. Όλα τα δεδομένα που απαιτούνται για τη λήψη του "πρωτο-κλειδιού" (αριθμός εγγράφου, ημερομηνία γέννησης του κατόχου του εγγράφου και ημερομηνία λήξης του εγγράφου) κωδικοποιούνται στη μηχανικά αναγνώσιμη ζώνη (MRZ), οπότε η βιβλιοθήκη έχει λειτουργία MRTD_MRZSubjacentToMRZProtoKey() που μπορεί να κληθεί αντί για MRTD_MRZDataToMRZProtoKey(). Αυτή η συνάρτηση δέχεται μια συμβολοσειρά μηδενικού τερματισμού που περιέχει μια δευτερεύουσα γραμμή του εγγράφου MRZ.Το παρακάτω στιγμιότυπο οθόνης δείχνει ένα παράδειγμα του MRZ με μια επισημασμένη δευτερεύουσα γραμμή το οποίο περιεχόμενο πρέπει να περάσετε ως παράμετρο για να λειτουργήσετε MRTD_MRZSubjacentToMRZProtoKey().

ηλεκτρονική πύλη MRZ

Λειτουργίες βιβλιοθήκης υποστήριξης MRTD #

MRTD_MRZDataToMRZProtoKey #

Περιγραφή λειτουργίας

Για να λάβετε το MRZ Proto Key που απαιτείται στα επόμενα βήματα, μπορείτε να καλέσετε αυτήν τη λειτουργία και να την περάσετε συμβολοσειρές μηδενικού τερματισμού που περιέχουν αριθμό εγγράφου, ημερομηνία γέννησης κατόχου εγγράφου και ημερομηνία λήξης εγγράφου. Μετά την επιτυχή εκτέλεση της συνάρτησης, το MRZ Proto Key θα αποθηκευτεί σε έναν πίνακα mrz_proto_key 25 byte.

Δήλωση συνάρτησης (γλώσσα C)

UFR_STATUS MRTD_MRZDataToMRZProtoKey(κωνστ. *doc_number,

κωνσταντάρης *date_of_birth,

κωνσταντάρης *date_of_expiry,

[25]uint8_t mrz_proto_key).

Παραμέτρους

doc_number Τοποθετήστε το δείκτη του ποντικιού σε μια συμβολοσειρά μηδενικού τερματισμού που περιέχει ακριβώς 9 χαρακτήρες αριθμό εγγράφου.
date_of_birth Τοποθετήστε το δείκτη του ποντικιού σε μια συμβολοσειρά μηδενικού τερματισμού που περιέχει ακριβώς 6 χαρακτήρες που αντιπροσωπεύουν την ημερομηνία γέννησης σε μορφή "YYMMDD".
date_of_expiry Τοποθετήστε το δείκτη σε μια συμβολοσειρά μηδενικού τερματισμού που περιέχει ακριβώς 6 χαρακτήρες που αντιπροσωπεύουν την ημερομηνία λήξης στη μορφή "YYMMDD".
mrz_proto_key Αυτός ο πίνακας byte θα περιέχει το υπολογιζόμενο πρωτο-κλειδί MRZ μετά την επιτυχή εκτέλεση της συνάρτησης. Αυτός ο πίνακας πρέπει να έχει εκχωρήσει τουλάχιστον 25 byte πριν από την κλήση αυτής της συνάρτησης.

 

MRTD_MRZSubjacentToMRZProtoKey #

Περιγραφή λειτουργίας

Για να αποκτήσετε το MRZ Proto Key που απαιτείται στα επόμενα βήματα, στην περίπτωση της μορφής TD3 MRZ (88 χαρακτήρες), μπορείτε να καλέσετε αυτήν τη λειτουργία και να την περάσετε μια συμβολοσειρά χωρίς τερματισμό που περιέχει υποενότητα MRZ. Ένα παράδειγμα της μορφής TD3 MRZ που εκτυπώνεται στο έγγραφο eMRTD μοιάζει κάπως έτσι:

Π<ΟΥΤΟΕΡΙΚΣΟΝ<<ΑΝΝΑ<ΜΑΡΙΑ<<<<<<<<<<<<<<<<<<<

L898902C36UTO7408122F1204159ZE184226B<<<<<10

Αυτή η συνάρτηση θα πρέπει να λάβει ένα δείκτη σε μια συμβολοσειρά μηδενικού τερματισμού που περιέχει την υποενότητα MRZ, δηλαδή "L898902C36UTO7408122F1204159ZE184226B<<<<<10".

Δήλωση συνάρτησης (γλώσσα C)

UFR_STATUS MRTD_MRZSubjacentToMRZProtoKey(κωνστ τσάρ * mrz, uint8_t mrz_proto_key[25]);

Παραμέτρους  
κ.κ.α. Τοποθετήστε το δείκτη σε μια συμβολοσειρά μηδενικού τερματισμού που περιέχει δεδομένα MRZ. Σύμφωνα με το έγγραφο ICAO Doc 9303-10, όπου έχει τρεις μορφές δεδομένων MRZ: μορφές TD1, TD2 ή TD3. Το TD1 περιέχει ακριβώς 90 χαρακτήρες, το TD2 περιέχει ακριβώς 72 χαρακτήρες και το TD3 περιέχει ακριβώς 88 χαρακτήρες.
mrz_proto_key Αυτός ο πίνακας byte θα περιέχει το υπολογιζόμενο πρωτο-κλειδί MRZ μετά την επιτυχή εκτέλεση της συνάρτησης. Αυτός ο πίνακας πρέπει να έχει εκχωρήσει τουλάχιστον 25 byte πριν καλέσει αυτήν τη συνάρτηση.

MRTDAppΕπιλογήΚαιΑυτοελληνικόBac #

Περιγραφή λειτουργίας

Χρησιμοποιήστε αυτήν τη λειτουργία για έλεγχο ταυτότητας στην ετικέτα eMRTD NFC χρησιμοποιώντας BAC. Αυτή η λειτουργία δημιουργεί έναν ασφαλή δίαυλο επικοινωνίας. Το κανάλι ασφαλείας διατηρείται χρησιμοποιώντας την παράμετρο send_sequence_cnt . Τα κλειδιά συνεδρίας καναλιού είναι ksenc (για κρυπτογράφηση) και ksmac (για υπολογισμό MAC).

Δήλωση συνάρτησης (γλώσσα C)

UFR_STATUS MRTDAppSelectΚαιΑυτοευτοεπιχειρηματικόςΒάκ(uint8_t mrz_proto_key[25], uint8_t ksenc[16],

uint8_t κσμακ[16],

uint64_t *send_sequence_cnt);

Παραμέτρους

mrz_proto_key Πρωτο-κλειδί MRZ που αποκτήθηκε με τη χρήση της προηγούμενης κλήσης για MRTD_MRZDataToMRZProtoKey() ή MRTD_MRZSubjacentToMRZProtoKey() functio
κσενκ Αυτός ο πίνακας πρέπει να έχει εκχωρήσει τουλάχιστον 16 byte πριν από την κλήση αυτής της συνάρτησης.Αυτός ο πίνακας θα περιέχει κλειδί κρυπτογράφησης περιόδου λειτουργίας μετά την επιτυχή εκτέλεση της λειτουργίας
κσμακ Αυτός ο πίνακας πρέπει να έχει εκχωρήσει τουλάχιστον 16 byte πριν από την κλήση αυτής της συνάρτησης.Αυτός ο πίνακας θα περιέχει ένα κλειδί συνεδρίας για τον υπολογισμό του MAC μετά την επιτυχή εκτέλεση της συνάρτησης.
send_sequence_cnt Μετά την επιτυχή εκτέλεση αυτής της συνάρτησης, ο δείκτης αυτής της τιμής 64-bit θα πρέπει να αποθηκεύεται και να προωθείται σε κάθε επόμενη κλήση στο MRTDFileReadBacToHeap() ή/και σε άλλες συναρτήσεις για την ανάγνωση του eMRTD

MRTDΑρχείοΔιαβάδακαςToΘέατρο #

Περιγραφή λειτουργίας

Χρησιμοποιήστε αυτήν τη λειτουργία για να διαβάσετε αρχεία από την ετικέτα eMRTD NFC. Μπορείτε να καλέσετε αυτήν τη λειτουργία μόνο αφού δημιουργήσετε με επιτυχία ένα κανάλι ασφαλείας από το προηγουμένως καλούμενο

ΣΥΝΆΡΤΗΣΗ MRTDAppΕπιλέξτεΚαιΑυτοληπτική ΣυνάρτησηBac(). Τα πλήκτρα συνεδρίας ksenc και ksmac, καθώς και τα send_sequence_cnt παραμέτρων αποκτώνται από το προηγουμένως καλούμενο

ΣΥΝΆΡΤΗΣΗ MRTDAppΕπιλέξτεΚαιΑυτοληπτική ΣυνάρτησηBac(). Μετά την επιτυχή κλήση σε αυτή τη συνάρτηση, *output δείχνει τα δεδομένα αρχείου που διαβάζονται από ένα αρχείο eMRTD που καθορίζεται από την παράμετρο file_index. Το buffer, στο οποίο αποθηκεύονται τα δεδομένα, εκχωρείται αυτόματα στο σωρό μνήμης κατά την εκτέλεση της λειτουργίας. Η μέγιστη ποσότητα δεδομένων που διατίθεται μπορεί να είναι 32 KB. Υπάρχει ευθύνη του προγραμματιστή να καθαρίσει τα κατανεμημένα δεδομένα (δηλαδή καλώντας δωρεάν(), την τυπική συνάρτηση C) μετά τη χρήση.

Δήλωση συνάρτησης (γλώσσα C)

UFR_STATUS MRTDFileReadBacToHeap(const uint8_t *file_index,

uint8_t **έξοδος,

uint32_t *output_length,

κωνστ uint8_t ksenc[16],

κωνστ uint8_t κσμακ[16],

Παραμέτρους

file_index

Η παράμετρος που καθορίζει το αρχείο που θέλουμε να διαβάσουμε από το eMRTD. Αυτός είναι ένας δείκτης σε έναν πίνακα byte που περιέχει ακριβώς δύο byte που ορίζουν το αρχείο eMRTD.Αυτά τα δύο byte είναι αναγνώριση αρχείων (FID) και υπάρχει μια λίστα με FID:

EF.COM = {0x01, 0x1E}
ΕΦ. ΓΔ1 = {0x01, 0x01}
ΕΦ. DG2 = {0x01, 0x02}
ΕΦ. ΓΔ3 = {0x01, 0x03}
ΕΦ. ΓΔ4 = {0x01, 0x04}
ΕΦ. DG5 = {0x01, 0x05}
ΕΦ. DG6 = {0x01, 0x06}
ΕΦ. ΓΔ7 = {0x01, 0x07}
ΕΦ. DG8 = {0x01, 0x08}
ΕΦ. DG9 = {0x01, 0x09}
ΕΦ. DG10 = {0x01, 0x0A}
ΕΦ. DG11 = {0x01, 0x0B}
ΕΦ. DG12 = {0x01, 0x0C}
ΕΦ. ΓΔ13 = {0x01, 0x0D}
ΕΦ. DG14 = {0x01, 0x0E}
ΕΦ. ΓΔ15 = {0x01, 0x0F}
ΕΦ. DG16 = {0x01, 0x10}
ΕΦ. SOD = {0x01, 0x1D}

*απόδοση Μετά την επιτυχή κλήση σε αυτήν τη συνάρτηση, αυτός ο δείκτης δείχνει τα δεδομένα αρχείου που διαβάζονται από ένα αρχείο eMRTD που καθορίζεται από την παράμετρο file_index. Το buffer, στο οποίο αποθηκεύονται τα δεδομένα, εκχωρείται αυτόματα κατά την εκτέλεση της συνάρτησης. Η μέγιστη ποσότητα δεδομένων που διατίθεται μπορεί να είναι 32 KB. Υπάρχει ευθύνη του προγραμματιστή να καθαρίσει τα κατανεμημένα δεδομένα (δηλαδή καλώντας δωρεάν(), την τυπική συνάρτηση C) μετά τη χρήση.
output_length Μετά την επιτυχή κλήση σε αυτήν τη συνάρτηση, αυτός ο δείκτης δείχνει το μέγεθος των δεδομένων αρχείου που διαβάζονται από ένα αρχείο eMRTD που καθορίζεται από την παράμετρο file_index.
κσενκ Κλειδί κρυπτογράφησης περιόδου λειτουργίας που αποκτήθηκε χρησιμοποιώντας μια προηγούμενη κλήση στη συνάρτηση MRTDAppSelectAndAuthenticateBac().
κσμακ Το κλειδί συνεδρίας για τον υπολογισμό του MAC που αποκτήθηκε χρησιμοποιώντας μια προηγούμενη κλήση στη συνάρτηση MRTDAppSelectAndAuthenticateBac().
send_sequence_cnt Αυτός ο δείκτης πρέπει να οδηγεί σε μια τιμή 64-bit που προετοιμάστηκε από το προηγούμενο
επιτυχής κλήση στη συνάρτηση MRTDAppSelectΚαιΑυτοευθυντικός ΈλεγχοςBac(). Ο δείκτης αυτής της τιμής 64-bit θα πρέπει να αποθηκεύεται και να προωθείται σε κάθε επόμενη κλήση σε αυτή τη συνάρτηση ή/και σε άλλες συναρτήσεις που χρησιμοποιούνται για την ανάγνωση του eMRTD.

uint64_t *send_sequence_cnt);

 

Παράδειγμα MRTD ηλεκτρονικής διέλευσης #

Αυτό το παράδειγμα μπορείτε να κατεβάσετε από:

https://www.d-logic.com/code/nfc-rfid-reader-sdk/ufr-examples-ePassport_mrtd.git

ή κλωνοποιήστε ολόκληρο το έργο CDT έκλειψης χρησιμοποιώντας:

Κλώνος git –αναδρομική https://www.d-logic.com/code/nfc-rfid-reader-sdk/ufr-examples-ePassport_mrtd.git

εντολή.

Εάν θέλετε μόνο γρήγορη εκτέλεση, κάντε λήψη του έργου και ξεκινήστε το εκτελέσιμο δυαδικό αρχείο από τον κατάλληλο φάκελο:

  • Για Windows 32 bit, ξεκινήστε το win32_releaserun_me.cmd
  • Για Windows 64 bit, ξεκινήστε το win64_releaserun_me.cmd
  • για ένα Linux 32-bit ξεκινήστε linux32_release / ePassport_mrtd
  • για εκκίνηση 64-bit Linux linux64_release/ePassport_mrtd.

Το παράδειγμα λογισμικού απαιτεί τη σύνδεση και τη διαμόρφωση της συσκευής ανάγνωσης uFR στον υπολογιστή. Καμία άλλη εφαρμογή ή υπηρεσία που χρησιμοποιεί συσκευή ανάγνωσης uFR δεν πρέπει να εκτελείται στον υπολογιστή. Μετά την επιτυχή έναρξη του "ePassport MRTD Example", το λογισμικό ξεκινά τα κύρια πολλά όπως φαίνεται παρακάτω.

Συσκευή ανάγνωσης ePassport MRTD NFC

<">Τώρα, θα πρέπει να επιλέξετε μία από τις επιλογές 'M' ή 'P' όπως αναφέρεται στις οδηγίες χρήσης της εφαρμογής στην οθόνη.

Εάν επιλέξατε την επιλογή "M", θα σας ζητηθεί κείμενο:

Έχετε επιλέξει να εισέλθετε στη δευτερεύουσα σειρά MRZ που βρίσκεται κάτω από το 'P<XXXSURNAME<<ΠΡΏΤΟΝΟΜΑ<<<<<<<<<<<<<<<<<<<<<':

Εισαγάγετε τη δευτερεύουσα γραμμή MRZ. Η δευτερεύουσα σειρά MRZ πρέπει να έχει μήκος 44 χαρακτήρων.

οπότε εισάγετε την υποθαλάσσια σειρά MRZ. Ένα παράδειγμα της δευτερεύουσας γραμμής MRZ μπορεί να δει στην πρώτη εικόνα.

Διαφορετικά, εάν επιλέξατε την επιλογή "P", θα σας ζητηθεί κείμενο:

Έχετε επιλέξει να εισαγάγετε ξεχωριστά τον αριθμό εγγράφου, την ημερομηνία γέννησης και την ημερομηνία λήξης:

Εισαγάγετε τον αριθμό του εγγράφου. Ο αριθμός του εγγράφου πρέπει να αποτελείται από 9 χαρακτήρες.

_________ …

Εισαγάγετε την ημερομηνία γέννησης. Η μορφή ημερομηνίας πρέπει να είναι YYMMDD.

______ …

Καταχωρίστε την ημερομηνία λήξης. Η μορφή ημερομηνίας πρέπει να είναι YYMMDD.

______ …

Επομένως, εισαγάγετε τα δεδομένα στην κατάλληλη μορφή.

Αφού εισαγάγετε τα έγκυρα στοιχεία, η εφαρμογή θα σας ενημερώσει με μήνυμα:

Mrz πρωτο-κλειδί έχει οριστεί με επιτυχία.

——————————————————————-

Μετά από αυτό το μήνυμα, μπορείτε να συνεχίσετε με τις λειτουργίες ανάγνωσης στην ετικέτα NFC που είναι ενσωματωμένη στο ePassport στην οποία ανήκουν τα δεδομένα που έχετε εισαγάγει προηγουμένως.

Τώρα μπορείτε να βάλετε το διαβατήριο στο πεδίο ανάγνωσης uFR. Με την επιτυχή επικοινωνία θα λάβετε βασικές πληροφορίες σχετικά με την ετικέτα NFC στο πεδίο του αναγνώστη. Για παράδειγμα:

——————————————————————-

Τύπος ετικέτας: DL_GENERIC_ISO14443_4, sak = 0x??, uid[4] = ??:????

——————————————————————-

Το SAK και το UID σε αυτό το παράδειγμα αποκρύπτονται και μπορούν να έχουν οποιαδήποτε αυθαίρετη τιμή. Τα ePassports θα αναγνωρίζονται πάντα όπως DL_GENERIC_ISO14443_4 τύπος ετικέτας.

Τώρα μπορείτε να επιλέξετε επιλογές ανάγνωσης εφαρμογών:

'C' – αυτή η επιλογή διαβάζει κοινά δεδομένα (EF.COM στοιχειώδες αρχείο) από το ePassport. Μετά από μια επιτυχημένη ανάγνωση, τα δεδομένα αναλύονται και εμφανίζονται με την ακόλουθη μορφή:

EF.COM έχει διαβαστεί με επιτυχία. Το μήκος του αρχείου είναι ?? byte

Ανεπεξέργαστα δεδομένα: 60 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx …

Ανάλυση των EF.COM ανεπεξέργαστων δεδομένων:

Η έκδοση LDS είναι 01.07

Η έκδοση UNICODE είναι 04.00.00

Λίστα υπαρχουσών ομάδων δεδομένων:

Βρέθηκαν: ΕΦ. ΓΔ1

Βρέθηκαν: ΕΦ. ΓΔ2

Βρέθηκαν: ΕΦ. ΓΔ3

Βρέθηκαν: ΕΦ. ΓΔ14

——————————————————————-

Τα ανεπεξέργαστα δεδομένα σε αυτό το παράδειγμα αποκρύπτονται και μπορούν να έχουν οποιαδήποτε αυθαίρετη τιμή. Υπάρχει μόνο η ετικέτα ανεπεξέργαστων δεδομένων και θα είναι πάντα η ίδια (0x60). Όταν διαβάσετε το δικό σας έγγραφο, θα λάβετε τα πραγματικά ανεπεξέργαστα δεδομένα του εδώ. Περισσότερες πληροφορίες σχετικά με την έκδοση LDS και την έκδοση UNICODE μπορείτε να διαβάσετε στο έγγραφο ICAO 9303, μέρος 10.

Οι εκδόσεις LDS και UNICODE ακολουθούνται από τη λίστα ομάδων δεδομένων που περιέχει το ePassport. Μόνο οι ΓΔ1 και ΓΔ2 είναι υποχρεωτικές. Όλες οι άλλες ομάδες δεδομένων μπορούν να είναι παρούσες ή όχι στο συγκεκριμένο MRTD.

'S' – αυτή η επιλογή διαβάζει το αντικείμενο ασφαλείας του εγγράφου (EF. SO στοιχειώδες αρχείο) και το αποθηκεύει στο δυαδικό αρχείο ποια διαδρομή και όνομα πρέπει να εισαγάγετε όταν σας ζητηθεί. Το αντικείμενο ασφαλείας εγγράφου περιέχει μια ψηφιακή υπογραφή στην τυπική μορφή CMS PKCS#7. Παρουσία του ΕΦ. Έτσι στο MRTD είναι υποχρεωτική.

D

« – αυτή η επιλογή διαβάζει το EF. DG1, αναλύστε το και εμφανίζει ανεπεξέργαστα και αναλυμένα δεδομένα με την ακόλουθη μορφή:

ΕΦ. DG1 έχει διαβαστεί με επιτυχία. Το μήκος του αρχείου είναι ?? byte

Ανεπεξέργαστα δεδομένα:

61 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx

  1. xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx … 

Απλή ανάλυση του EF. DG1 ανεπεξέργαστα δεδομένα:

Κωδικός εγγράφου: P (ePassport)

Κράτος ή οργανισμός έκδοσης: ???

Όνομα κατόχου: ΕΠΩΝΥΜΟ FIRST_NAME

Αριθμός εγγράφου: ?????????

Εθνικότητα:???

Ημερομηνία γέννησης (ηη.ΜΜ.εεεε): ??.??.????.

Φύλο:????

Ημερομηνία λήξης (ηη.ΜΜ.εεεε): ??.??.????.

Προαιρετικά δεδομένα: ??????????????

——————————————————————-

Τα ανεπεξέργαστα δεδομένα σε αυτό το παράδειγμα αποκρύπτονται και μπορούν να έχουν οποιαδήποτε αυθαίρετη τιμή. Υπάρχει μόνο η ετικέτα ανεπεξέργαστων δεδομένων και θα είναι πάντα η ίδια (0x61). Όταν διαβάσετε το δικό σας έγγραφο, θα λάβετε τα πραγματικά ανεπεξέργαστα δεδομένα του εδώ.

'2' – αυτή η επιλογή διαβάζει το EF. DG2 και αποθηκεύστε το στο δυαδικό αρχείο ποια διαδρομή και όνομα πρέπει να εισαγάγετε όταν σας ζητηθεί. ΕΦ. DG2 περιέχει μια εικόνα προσώπου κατόχου εγγράφου και είναι υποχρεωτική. ΕΦ. DG2 εκτός από την εικόνα του προσώπου θα μπορούσε να περιέχει βιομετρικά χαρακτηριστικά του προσώπου πάρα πολύ. Περισσότερα για το EF. Περιεχόμενο DG2 μπορείτε να διαβάσετε στο έγγραφο ICAO 9303, μέρος 10.

'I' – αυτή η επιλογή διαβάζει το EF. ΓΔ2 έως. Σε αυτήν την περίπτωση, μόνο η εικόνα προσώπου εξάγεται από το αρχείο MRTD και αποθηκεύεται στο αρχείο ποια διαδρομή και όνομα έχετε εισαγάγει. Η μορφή εικόνας εντοπίζεται αυτόματα και η επέκταση αρχείου ορίζεται σύμφωνα με αυτήν. Υπάρχουν δύο πιθανές μορφές αρχείων εικόνας που έχουν οριστεί για αυτό το περιβάλλον: JPEG ή JP2 (π.χ.jpeg 2000).

«– αυτή η επιλογή διαβάζει οποιαδήποτε από τις στοιχειώδεις ομάδες δεδομένων (EF. DG) αρχεία από το MRTD και το αποθηκεύει στο δυαδικό αρχείο ποια διαδρομή και όνομα πρέπει να εισαγάγετε όταν σας ζητηθεί. Αφού επιλεγεί αυτή η επιλογή, θα σας ζητηθεί EF. Ευρετήριο ΓΔ. Ο δείκτης μπορεί να κυμαίνεται από το 1 έως το 16 (π.χ. 1 για το EF. ΓΔ1 και 14 για το EF. ΓΔ14). Το στοιχειώδες αρχείο που θέλετε να διαβάσετε πρέπει να εμφανίζεται στη λίστα EF.COM ομάδων δεδομένων.

Η ανάγνωση ορισμένων προαιρετικών στοιχειωδών αρχείων, ιδίως εκείνων που περιέχουν βιομετρικά δεδομένα, απαιτεί ειδικούς μηχανισμούς ασφαλείας που δεν εμπίπτουν στο πεδίο εφαρμογής αυτού του εγγράφου.

Η τρέχουσα έκδοση του «Παραδείγματος MRTD ePassport» είναι 1.0 και εξαρτάται από την έκδοση 5.0.12 της βιβλιοθήκης uFCoder και την έκδοση υλικολογισμικού uFR 5.0.22.