使用 Android 设备进行 nfc 读取我的国家身份证和驾驶执照(提示:两者都有 3 行类型为 TD1 的机读区,并且驾驶员卡在芯片附近有一个数字 8 位数字+'E',但我不知道)不知道有什么用!?)
对于身份证部分,我使用了jmrtd库(BAC协议,并且我成功读取了所有我想要的数据组{1,2,11,12})
对于驾驶执照,在阅读了一些标准后,我应该做BAP而不是BAC所以我实现了一个与PassportService相同的DLicenseService类,但有一些细微的变化:
- 将 EF_COM 更改为 001F,将 AID 更改为 A0000002480200(女巫在第一次尝试中工作)...
- 我正在使用自定义密钥派生算法将 BAC 作为 BAP,三元组(docNumber、dateOfBirth、dateOfExpiry)不起作用...
我的问题是:
- 是否有任何防止错误密钥派生的保护措施多次尝试(假设BAP == BAC),因为水肺服务现在失败了!!...请不要告诉我有并且我的卡被阻止了.. .
- BAP 和 BAC 等效吗?我应该尝试其他协议吗?
- 您知道驾驶执照最常用的密钥种子派生算法吗(例如最后 6 个文档数字的 SHA1...)
- 是否有像 jmrtd 那样处理旅行证件的驾照库?