在线商店
打印友好,PDF和电子邮件
[printfriendly电流= '是的']
打印友好,PDF和电子邮件

Introduzione

Il support per la lettura di gruppi di dati dal tag NFC公司合并nei documenti di viaggio leggibili dalla machchina (MRTD),包括gli ePassport合格的ICAO, è statto implementato nella libreria uFCoder。

L'implementazione supporta il meccanismo BAC(基本访问控制)每个接入芯片NFC。BAC同意自动氮化管与非通道通信氮化管标准氮化管与非标签NFC合并奈尔mrtd。BAC si basa esclusivamente la crittografia simmetrica utilizando l' algorithm 3DES ed è implementato secondoICAO 9303,第11部分

ICAO è国际民用航空组织(https://www.icao.int).具体ICAO 9303标准,包括护照。È可能的trovare l'intera serie ICAO文件9303 suhttps://www.icao.int/publications/pages/publication.aspx?docnum=9303sito网络。

MRTDs基本访问控制è supportato nellalibreriauFCoderdallaversione5.0.12

根据自动原始标签NFC合并nell'MRTD, è必要的passare il numero del document, la data di nascita del titolare del document e data di scadenza del document Per funzionare MRTD_MRZDataToMRZProtoKey() al fine di ottenere la“原chiave”da cui verranno衍生altre chiavi di sicurezza必要。在机器可读区(MRZ)中,在modo che la libreria abbia MRTD_MRZSubjacentToMRZProtoKey () funzione che può essere chiamata invece di MRTD_MRZDataToMRZProtoKey()。有一件事,那件事,那件事,那件事,那件事,那件事。在MRZ的基础上,通过参数MRTD_MRZSubjacentToMRZProtoKey()。

epassport MRZ

MrTD支持图书馆的慈善事业

MRTD_MRZDataToMRZProtoKey

描述一下

每个ottenere mrZ原始关键必须的连续文件,è可能的chiamare quere funzione e passarle string null-terminate content编号的文件,数据的nascita del titolare del document e数据di scadenza del document。Dopo l'esecuzione corretta della funzione, MRZ Proto Key verrà memorizzato在un数组mrz_proto_key一个25字节。

双语例句

UFR_STATUS MRTD_MRZDataToMRZProtoKey(const char *doc_number,

Const char *date_of_birth

Const char *date_of_expiry

[25] uint8_t mrz_proto_key);

Parametri

doc_number 一字不整,无内容,一字不整,一字不整。
date_of_birth “AAMMGG”,“AAMMGG”,“AAMMGG”。
date_of_expiry “AAMMGG”,“AAMMGG”。
mrz_proto_key Questa matrice di byte conterrà la proto-chiave MRZ calcolata dopo l'esecuzione corretta della funzione。25字节prima di chiamare Questa funzione。

MRTD_MRZSubjacentToMRZProtoKey

描述一下

根据ottenere la MRZ原关键必要的连续通行证,nel caso del formato TD3 MRZ (88 caratteri totali), è可能的chiamare questa funzione e passarle una stringa con terminazione null content la riga MRZ下。Un esempio del formato TD3 MRZ stampato sul document ento eMRTD è明喻语句:

P < UTOERIKSSON < < <安娜玛丽亚 <<<<<<<<<<<<<<<<<<<

L898902C36UTO7408122F1204159ZE184226B < < < < < 10

“L898902C36UTO7408122F1204159ZE184226B<<<<<10”。

Dichiarazione di funzione (linguaggio C)

UFR_STATUS MRTD_MRZSubjacentToMRZProtoKey(const char *mrz, uint8_t mrz_proto_key[25]);

Parametri
mrz· 对MRZ没有任何内容。第二份国际民航组织9303-10号文件,文件格式MRZ: TD1, TD2 o TD3。TD1连续烯含量90克拉,TD2连续烯含量72克拉,TD3连续烯含量88克拉。
mrz_proto_key Questa matrice di byte conterrà la proto-chiave MRZ calcolata dopo l'esecuzione corretta della funzione。25字节prima di chiamare Questa funzione。

MRTDAppSelectAndAuthenticateBac

描述一下

根据NFC eMRTD的要求使用BAC。我要找一个稳定的家庭。这是一种特殊的方法send_sequence_cnt.我的童年时光ksenc参考例句:eksmac(根据il calcolo del MAC)。

Dichiarazione di funzione (linguaggio C)

UFR_STATUS MRTDAppSelectAndAuthenticateBac(const uint8_t mrz_proto_key[25], uint8_t ksenc[16],

uint8_t ksmac [16],

uint64_t * send_sequence_cnt);

Parametri

mrz_proto_key mrzdatatomrzprotokey()和MRTD_MRZSubjacentToMRZProtoKey()函数
ksenc 查询矩阵的devve aver分配almeno 16字节prima di chiamare Questa funzione。Questa matrice conterrà la chiave di criittografia della sessione dopo l'esecuzione corretta della funzione
ksmac 查询矩阵的挖掘,分配almeno 16字节prima di calli查询funzione。questestmatrice conterrà在舞会上的烛光下在舞会上的舞会上。
send_sequence_cnt 它是一个64位的问题,它是一个有价值的问题,它是一个MRTDFileReadBacToHeap() e/o一个有价值的问题,它是一个有价值的问题

MRTDFileReadBacToHeap

描述一下

利用questa funzione每leggere i文件dal标签NFC eMRTD。È可能的chiamare questestfunzione solo dopo aver稳定的correttamente uncanal di protezione dal先例chiamato

Funzione MRTDAppSelectAndAuthenticateBac()。Le chiavi di sessione ksenc e ksmac, e anche i send_sequence_cnt dei paramtri vengono acquisiti dal precedentemente chiamato

Funzione MRTDAppSelectAndAuthenticateBac()。Dopo la chiamata riuscita a questa funzione, *output punta ai dati del file letti da un file eMRTD specificato dal parameter file_index。我的缓冲,在我的资料档案中,自动分配给我的记忆堆,在我的记忆堆中,我的收藏。La quantità massima di dati allocati può essere di 32 KB。C'è la responsabilità del programmatore di ripulire i dati allocati (cioè chiamando free(), la funzione C standard) dopo l'uso。

Dichiarazione di funzione (linguaggio C)

UFR_STATUS MRTDFileReadBacToHeap(uint8_t *file_index,

uint8_t * * uscita,

uint32_t * output_length,

Const uint8_t ksenc[16],

Const uint8_t ksmac[16],

Parametri

file_index

参数che具体文件che vogliamo leggere dall'eMRTD。查询è un puntatore a una matrice di byte contiene esattamente due byte che designano il file eMRTD。查询字节sono l'identificazione dei file (FID) e c'è un elenco di FID:

EF.COM = {0x01, 0x1E}
Ef。DG1 = {0x01, 0x01}
Ef。DG2 = {0x01, 0x02}
Ef。DG3 = {0x01, 0x03}
Ef。DG4 = {0x01, 0x04}
Ef。DG5 = {0x01, 0x05}
Ef。DG6 = {0x01, 0x06}
Ef。DG7 = {0x01, 0x07}
Ef。DG8 = {0x01, 0x08}
Ef。DG9 = {0x01, 0x09}
Ef。DG10 = {0x01, 0x0A}
Ef。DG11 = {0x01, 0x0B}
Ef。DG12 = {0x01, 0x0C}
Ef。DG13 = {0x01, 0x0D}
Ef。DG14 = {0x01, 0x0E}
Ef。DG15 = {0x01, 0x0F}
Ef。DG16 = {0x01, 0x10}
Ef。SOD = {0x01, 0x1D}

* uscita Dopo la chiamata riuscita a questa funzione, questo puntatore punta ai dati del file letti da un file eMRTD specificato dal parameter file_index。缓冲区,在cui vengono memorizzati i dati, viene allocation ato automaticamente durante l'esecuzione della funzione。La quantità massima di dati allocati può essere di 32 KB。C'è la responsabilità del programmatore di ripulire i dati allocati (cioè chiamando free(), la funzione C standard) dopo l'uso。
output_length Dopo la chiamata riuscita a questa funzione, questo puntatore punta真主安拉dimensione dei dati del file letti da un file eMRTD specificato dal parameter file_index。
ksenc MRTDAppSelectAndAuthenticateBac()。
ksmac Chiave di sessione per il calcolo del MAC accessto utilizzando una chiamata precedente真主安拉funzione MRTDAppSelectAndAuthenticateBac()。
send_sequence_cnt 一个64位的初始化程序
chiamata riuscita真主安拉funzione MRTDAppSelectAndAuthenticateBac()。Il puntatore一questo valore 64位产品开发essere salvato e inoltrato广告ogni chiamata successiva一,funzione e / o广告altre funzioni utilizzate每拉勒图拉迪eMRTD。

uint64_t * send_sequence_cnt);

Esempio di ePassport MRTD

Questo esempio è可能的scaricare da:

//www.texashampton.com/code/nfc-rfid-reader-sdk/ufr-examples-ePassport_mrtd.git

o clonare l'intero progetto CDT eclipse utilzzando:

git克隆- //www.texashampton.com/code/nfc-rfid-reader-sdk/ufr-examples-ePassport_mrtd.git ricorsiva

第一。

我想说的是,我想说的是,我想说的是,我想说的是,我想说的是,我想说的是,我想说的是,我想说的是:

  • 如果Windows是32位,请输入win32_releaserun_me.cmd
  • 如果Windows是64位,请输入win64_releaserun_me.cmd
  • per un linux32_release/ePassport_mrtd Linux a 32位
  • Linux 64位linux64_release/ePassport_mrtd。

L'esempio di软件richiede che il dispositivo di lettura uFR sia学院配置PC。在计算机中没有应用服务和应用程序的程序。Dopo l'avvio positivo dell'"esempio MRTD ePassport", il软件avvia i principali come mostrato di seguito。

信护照MRTD NFC

<">Ora, è必要的场景里,那在opzioni 'M' o 'P'来指示nelle istruzioni per l'uso dell'applicazione sullo schermo。

Se hai scelto l'opzione“M”,ti verrà richiesto il testo:

Hai scelto di inserire la riga MRZ下面的情况sotto 'P< xxx姓氏<

我在这里,我在这里,我在这里。我的房间,我的房间,我的房间,我的房间。

MRZ的下体。Un esempio della riga MRZ下辖può vedere nella prima immagy。

Altrimenti, se hai scelto l'opzione“P”,ti verrà richiesto del testo:

关于数据的分类,关于数据的分类:

我的数字是文件。我的文件编号为9。

_________ ...

Inserisci la data di nascita。Il formato della data deve essere AAMMGG。

______ ...

数据插入。Il formato della data deve essere AAMMGG。

______ ...

你的工作是正确的。

Dopo ver inserto i dati validi, l'applicazione ti informerà con un message:

La原chiave MRZ è stata impostata correttamente。

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

Dopo questo messaggio, è可能的连续con le operazioni di lettura sul标签NFC合并在ePassport崔appartengono i dati immessi在前例。

我的心,我的护照,我的信,我的营地。在caso di communicazione di successo stabilita, otterrai informazioni di base sul tag NFC nel campo del letore。每esempio:

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

Tipo di tag: DL_GENERIC_ISO14443_4, sak = 0x??, uid[4] = ??:??:??

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

SAK的UID在问题的esempio, sono mascherati,所有的所有权,avere, qualsiasi, valore任意性。Gli ePassports saranno sempre riconosciuti come DL_GENERIC_ISO14443_4 tipo di tag。

那就用我的手吧:

C '- questa opzione legge i dati comuni (EF.COM file elementare) dall'ePassport。Dopo una lettura riuscita, i dati vengono analizzati e visualizzati nel formato seguente:

EF.COM è statto letto con successo。La lunghezza del file è ??字节

Dati grezzi: 60 xx xx xx xx xx xx xx xx xx xx

Analisi dei dati grezzi EF.COM:

La版本LDS è 01.07

La版本UNICODE è 04.00.00

我为你而战:

它起码:EF。DG1·

它起码:EF。DG2·

它起码:EF。DG3·

它起码:EF。DG14·

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

我没有详细说明,在问,esempio, sono mascherati,所有,所有和,qualsiasi, valore,任意性。独奏il tag di dati grezzi è stato presente sarà sempre lo stesso (0x60)。我的腿,我的文件,我的腿,我的腿,我的腿。Maggiori informazioni sula version LDS e sula version UNICODE si all - ono leggere nel文件ICAO 9303,第10部分

在电子护照里的版本。Solo la DG1 e la DG2 sono obbligatorie。这是一种非常简单的方法。

年代-文件保护问题(EF。SO初级文件(e lo salva nel文件二进制文件,有能力的人,有能力的人。连续的数字空间文件的格式CMSPKCS # 7标准。Presenza戴尔'EF。SO苏拉MRTD è义务。

D

1 '- questa opzione legge l'EF。DG1,分析和可视化的数据,不详细的分析和数据的分割格式:

Ef。DG1 è statto letto con successo。La lunghezza del file è ??字节

达缇女士grezzi:

61 xx xx xx xx xx xx xx xx xx

  1. xxXx Xx Xx Xx Xx Xx Xx Xx Xx Xx

Semplice analisi delef。Dati grezzi della DG1:

密码文件:P(护照)

国家组织:??

名称:COGNOME FIRST_NAME

编号:?????????

Nazionalita: ? ?

数据di nascita (gg.MM.aaaa.):………………????。

Sesso: ? ?

数据解析(gg.MM.aaaa): ????。????。

数据:??????????????

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

我没有详细说明,在问,esempio, sono mascherati,所有,所有和,qualsiasi, valore,任意性。独奏il tag di dati grezzi è stato presente sarà sempre lo stesso (0x61)。我的腿,我的文件,我的腿,我的腿,我的腿。

2》- questa opzione legge l'EF。DG2 e萨尔瓦洛内尔文件二进制的质量质量的荣誉è必须的immettere quando rich esto。Ef。DG2连续的想象面对面的记录è义务。Ef。DG2,所有的想象,面部特征,与之匹配,面部特征,生物特征。Maggiori informazioni su EF。Il contenuto della DG2 è leggibile nel文件ICAO 9303,第10部分

- questa opzione legge l'EF。DG2 a.在questo caso,唯一的想象,我的意志,我的生命,我的生命,我的生命,我的生命,我的生命。在基本的基础上,想象的形式和自动的变化和文件的变化。格式为:JPEG或JP2 (cioè . JPEG 2000)。

D '-对原始数据的查询(EF。DG) dal MRTD e lo salva nel文件二进制权限权限è必须插入权限权限。Dopo aver scelto questa opzione, ti verrà richhiesto EF。指数DG。L’index può essere compso tra 1 e 16 (ad esempio 1 per EF.)DG1 e14每EF。DG14)。文件elementare che si desidera leggere deve essere elencato nell'elenco dei gruppi di dati EF.COM。

《阿尔库尼元素档案》生物计量学资料的特别内容,关于特殊的meccanismi di sicurezza che esulano dall'ambito di questo文件。

La versione corrente dell'"esempio MRTD ePassport" è 1.0 e dipende dalla libreria uFCoder版本5.0.12 e dalla versione del固件uFR 5.0.22。

Baidu
map