我有两个不同的javacard,低于ATR:
3B 68 00 00 00 73 C8 40 12 00 90 00
3b 7F 94 00 00 80 31 80 65 B0 85 02 02 ED 12 0F FF 82 90 00
假设我想选择MF。据我所知,并且在ISO 7815-4中提到,我们可以选择包含00 A4 00 00
或00 A4 00 00 02 3F 00
的主文件。
但是当我发送第一张卡的选择MF命令时,我收到了6A86
[错误的参数P1-P2 ]。
Q1:这是否意味着我的卡不符合ISO-7816标准?!如果不是,这个错误的原因是什么?
当我发送 SELECT MASTER FILE 命令然后 GET RESPONSE 时第二张卡
命令(00 CO OO OO 12
),我收到以下输出。
Q2:我可以获得哪些信息?
问题3:如果我不知道我的卡片文件的ID,我可以在P1-P2 = 0000到P1-P2 = FFFF的暴力暴力下获得它们吗?我的意思是这个蛮力可能让我的卡锁定吗?
问题4:如果我只知道我的卡的身份验证密钥,那么有没有办法读取整个EEPROM?如果是,怎么样?
谢谢
答案 0 :(得分:4)
Q1 :这是否意味着我的卡不符合ISO-7816标准?!如果不是,这个错误的原因是什么?
Q2:我可以通过这种方式获得哪些信息?
Q3 :如果我不知道我的卡片文件的ID,我可以在P1-P2 = 0000到P1-P2 = FFFF上用暴力蛮力获得它们吗?我的意思是这个蛮力可能使我的卡锁定吗?
Q4 :如果我只知道我的卡的身份验证密钥,那么有没有办法读取整个EEPROM?如果有,怎么样?
答案 1 :(得分:2)
A1:您的卡部分符合ISO 7816标准(与大多数卡一样)。它将 - 在所有可能的情况下 - 不支持SELECT MF开箱即用。如果需要,您可以使您的Applet"默认选择" (在安装INSTALL期间) - 意味着在ATR之后直接选择Applet - 并自己实现行为。
A2:如果P2设置为00
,SELECT将返回FCI / FCP(文件控制信息,文件控制参数)信息。再次返回的内容取决于卡。有时,仅支持P2 = 0C
表示不返回任何信息更容易。但是,这仅作为ISO CASE 3命令可用,这意味着仅提供命令数据(无Le字节)。所以4字节的SELECT MF无法工作。
A4:不,你需要完全卡访问才能这样做。此功能通常保留给Java Card操作系统的制造商和创建者。
请注意,INITIALIZE UPDATE / EXTERNAL AUTHENTICATE特定于Global Platform Card Manager或Security Domains。从卡管理器执行SELECT MF是没有意义的。