【问题标题】:Smartcard verify pin apdu command problem in androidandroid中的智能卡验证pin apdu命令问题
【发布时间】:2018-10-06 07:01:50
【问题描述】:
我正在开发一个 android pos 设备。当我插入智能卡并运行以下命令时,它会给我 9000 响应并且工作正常:
00 A4 00 00 08 610433BE00010001
CLA/INS/P1/P2/Lc/DATA
但是当我想发送密码验证命令时:
00 20 00 00 02 80 12
(以 8012 为例)
它给我6D00错误,这意味着该命令不支持。
这个命令有什么问题?
【问题讨论】:
标签:
java
android
smartcard
apdu
【解决方案1】:
我找到了解决方案。
每个 apdu 命令都需要分步传输,例如:
选择小程序 > 检查密码验证 > 获取卡注册信息
“在智能卡上运行任何命令之前,我需要先运行选择小程序!”
【解决方案2】:
您应该发送此 APDU 命令来验证您的密码:
00 20 00 00 04 38 30 31 32 instead of 00 20 00 00 02 80 12
04 => 4 bytes
38 => Hex of integer value of 8
30 => Hex of integer value of 0
31 => Hex of integer value of 1
32 => Hex of integer value of 2
and of course result should be 9000