我很难理解我必须使用什么协议来与卡T0或T1通信?所以,如果我错了,请纠正我,但如果卡支持两者,读者实际上决定用什么协议与卡通信.
所以我现在的逻辑是:
// if ATR(T1) -> set_params(T1 structure) -> T1 APDU communication
// if ATR(T0) -> set_params(T0 structure) -> T0 APDU communication
Run Code Online (Sandbox Code Playgroud)
但事实证明,逻辑是错误的,它对大多数读者来说都是偶然的.我刚刚发现即使卡ATR返回T1,也希望T0通信的读卡器.
问:确定使用什么协议的逻辑是什么?如果背后有规格,请你指点一下.
编辑:我忘了在操作系统之前提到我的代码处于预启动环境(UEFI).所以我没有(使用)任何API.我的代码处于字节流APDU级别,并使用UEFI UsbIo通信直接与硬件对话.
谢谢大家!
祝一切顺利,
亚历克斯