我想验证智能卡上的PIN1并读取重试计数器。根据ISO 7816-4页第54 (1)页,重试计数器存储在SW2的两个LSB中( SW1应该是63),但如果密码正确,则使用SW1 SW2=9000:
>> Reset
<< 3b 19 94 80 67 94 08 01 03 02 01 03
>> ff 00 ff
<< ff 00 ff
>> a0 a4 00 00 02
<< a4
>> 3f 00
<< 9f 16
>> a0 f2 00 00 16
<< f2 00 00 63 f4 3f 00 01 00 00 00 00 00 09 33 03 0a 08 00 83 8a 83 8a 90 00
0: pin enabled...
>> a0 20 00 01 08
<< 20
>> 31 31 31 31 ff ff ff ff
<< 90 00如果PIN1不正确,则为9804:
>> a0 20 00 01 08
<< 20
>> 31 31 31 32 ff ff ff ff
<< 98 04我错过了什么?
发布于 2015-07-02 04:55:02
你的智能卡似乎是一张GSM SIM卡。类字节显然具有MSB设置,因此它不遵循ISO 7816。在这种情况下,您应该参考3 3GPP 11.11 (可以从此链接下载)。
核实CHV命令在第9.2.9节、第8.9节和第11.3.1节中作了说明。
该命令可能返回的状态词有:
'9000':成功的CHV验证'9804':CHV验证失败,至少还有一次尝试。'9840':CHV被阻断'9808':与CHV状态相矛盾(即验证当前禁用的PIN )'91XX':也是成功的CHV验证,但有未雨绸缪的命令挂起。其余尝试的次数可以在成功选择目录(MF或DF)或发送状态命令(INS 'F2')时找到。低字节19包含CHV1 1/Pin1的剩余尝试,PUK1的字节20,PIN2的字节21,PUK2的字节22。有关更多细节,请参阅9.2.1节。
补充说明:
'00'并在此卡中找到63CX状态字。发布于 2015-06-30 14:49:40
虽然我不完全理解您的转储格式,但请注意以下内容:
正确的验证(即使用验证数据进行验证)显然必须返回9000才能表明验证是成功的。98 04是一个GSM专用(“专有”)返回代码,您将无法在ISO 7816中找到解释.
https://stackoverflow.com/questions/31139858
复制相似问题