提交<年代pan class="commit-sha">ff77cf30 通过 developer4

版本1.4

实现uFCoder库5.0.22和eMRTD验证(使用SOD数据)-增加20191206_DEMasterList用于所有支持的体系结构和调试环境的csca文件夹中的Ml。-CSCA证书和/或主列表文件应该放在csca文件夹中。
bff2a6f8
自由@<年代pan class="commit-sha">f3466962
子项目提交<年代pan class="idiff left right">c61c1ad48c8325c94469d2f6fe535e4a581aed2a
子项目提交<年代pan class="idiff left right">f34669620b10e1354a4e467932b5c1adb7b2938c
@@ -155,226 +155,6 @@ void show_files_tag_list(const uint8_t *files_tag_list, const int tag_list_size)
printf\ n);
}
无效to_space字符*年代{
*年代! =' \ 0{
如果*年代==“<”
*年代=' '
其他的如果((*年代<' 0 '& &*年代>“9”& &*年代<“一个”& &*年代>“Z”))
*年代=' '
++年代
}
}
无效to_date常量字符*年代字符*日期uint8_tyear_threshold{
uint32_t一年
一年=(((uint8_t年代0]-0 x30*10+((uint8_t年代1]-0 x30);
memcpy日期&年代4],2);/ /天
memcpy&日期3.],&年代2],2);/ /月
memcpy&日期8],年代2);//年份,第二部分
//年份,第一部分:
如果一年>year_threshold
memcpy&日期6],“19”2);
其他的
memcpy&日期6],“20”2);
日期2]=日期5]=日期10]=“。”
日期11]=' \ 0
}
无效show_mrz_data_td1_format常量字符*mrz{
字符临时40];
memcpy临时mrz2);
临时2]=' \ 0
to_space临时);
printf"文档代码:%s"临时);
如果临时0]==“P”& &临时1]==' '
printf“(ePassport)”);
printf\ n);
mrz+ =2
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“发行国家或组织:% 5\ n临时);
mrz+ =3.
memcpy临时mrz9);
临时9]=' \ 0
to_space临时);
printf"文件号:%s\ n临时);
mrz+ =9//校验位+1
如果mrz0]==“<”
printf文件号扩展名:);
其他的
printf“可选数据:”);
++mrz
memcpy临时mrz15);
临时15]=' \ 0
to_space临时);
printf“% s\ n临时);
mrz+ =15
to_datemrz临时20.);
printf出生日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
printf“性:”);
如果mrz0]==“米”
printf“男性”);
其他的如果mrz0]==“F”
printf“女性”);
其他的
printf“未知”);
printf\ n);
mrz+ =1
to_datemrz临时One hundred.);
printf"过期日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“国籍:% 5\ n临时);
mrz+ =3.
memcpy临时mrz11);
临时11]=' \ 0
to_space临时);
printf可选数据:%s\ n临时);
mrz+ =11
memcpy临时mrz30.);
临时30.]=' \ 0
to_space临时);
printf"持有人名称:%s\ n临时);
}
无效show_mrz_data_td2_format常量字符*mrz{
字符临时40];
memcpy临时mrz2);
临时2]=' \ 0
to_space临时);
printf"文档代码:%s"临时);
如果临时0]==“P”& &临时1]==' '
printf“(ePassport)”);
printf\ n);
mrz+ =2
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“发行国家或组织:% 5\ n临时);
mrz+ =3.
memcpy临时mrz31);
临时31]=' \ 0
to_space临时);
printf"持有人名称:%s\ n临时);
mrz+ =31
memcpy临时mrz9);
临时9]=' \ 0
to_space临时);
printf"文件号:%s\ n临时);
mrz+ =10//校验位+1
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“国籍:% 5\ n临时);
mrz+ =3.
to_datemrz临时20.);
printf出生日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
printf“性:”);
如果mrz0]==“米”
printf“男性”);
其他的如果mrz0]==“F”
printf“女性”);
其他的
printf“未知”);
printf\ n);
mrz+ =1
to_datemrz临时One hundred.);
printf"过期日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
memcpy临时mrz7);
临时7]=' \ 0
to_space临时);
printf可选数据:%s\ n临时);
}
无效show_mrz_data_td3_format常量字符*mrz{
字符临时40];
memcpy临时mrz2);
临时2]=' \ 0
to_space临时);
printf"文档代码:%s"临时);
如果临时0]==“P”& &临时1]==' '
printf“(ePassport)”);
printf\ n);
mrz+ =2
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“发行国家或组织:% 5\ n临时);
mrz+ =3.
memcpy临时mrz39);
临时39]=' \ 0
to_space临时);
printf"持有人名称:%s\ n临时);
mrz+ =39
memcpy临时mrz9);
临时9]=' \ 0
to_space临时);
printf"文件号:%s\ n临时);
mrz+ =10//校验位+1
memcpy临时mrz3.);
临时3.]=' \ 0
to_space临时);
printf“国籍:% 5\ n临时);
mrz+ =3.
to_datemrz临时20.);
printf出生日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
printf“性:”);
如果mrz0]==“米”
printf“男性”);
其他的如果mrz0]==“F”
printf“女性”);
其他的
printf“未知”);
printf\ n);
mrz+ =1
to_datemrz临时One hundred.);
printf"过期日期(dd.MM.yyyy.): % 5\ n临时);
mrz+ =7//校验位+1
memcpy临时mrz14);
临时14]=' \ 0
to_space临时);
printf可选数据:%s\ n临时);
}
保龄球isBigEndian无效{
uint32_t用户界面=1
uint8_t*ptr=uint8_t*&用户界面
@@ -5,6 +5,17 @@
的ifndef INI_H_
#定义INI_H_
#define APP_VERSION "1.3"
#define APP_VERSION "1.4"
#定义EXIT_ON_WRONG_FW_DEPENDENCY
#定义EXIT_ON_WRONG_LIB_DEPENDENCY
#define MIN_DEPEND_LIB_VER_MAJOR
#define MIN_DEPEND_LIB_VER_MINOR
#define MIN_DEPEND_LIB_VER_BUILD
#定义MIN_DEPEND_FW_VER_MAJOR
#定义MIN_DEPEND_FW_VER_MINOR
#定义MIN_DEPEND_FW_VER_BUILD
# endif/* ini_h_ */
    减价支持
    0%
    你要添加<年代trong>0人讨论。小心行事。
    先完成编辑此消息!
    注册发表评论
    Baidu
    map