0

如何使用 APDU 命令获取智能卡的序列号?我试图通过使用 SCardGetAttrib 函数来查询它,但winscard.dll没有成功,我被告知使用 APDU 命令来执行此操作,因为没有获取序列号的标准方法。问题是我不知道我的智能卡是什么类型的!所以我查阅了几家流行的智能卡制造商的文件,但没有找到获得序列号的方法!!

我的读卡器是ACR88。

4

2 回答 2

3

在下面的命令中,A0 可能需要为 00 或其他内容(下面的代码适用于 SIM 卡):

选择中频:

=> A0A40000023F00 
<= 9F16

选择 EFiccid :

=> A0A40000022FE2 
<= 9F0F

阅读二进制:

=> A0B000000A 
<= 984310011823020084F99000

您的 ICCID 已交换并进行了 luhn 检查 (984310011823020084F9 => 8934011081322000489)。

于 2013-07-16T16:42:26.460 回答
0

对于 SCOSTA 特定的卡,您可以使用以下命令读取 TAG 46、00CA0046XX 或 00CA0246XX 下的芯片序列号“最后 XX 取决于卡因知道长度而异,给出 00 并将给出“6CXX”的响应,您可以在其中使用xx 获取正确的数据,这是因为序列号的长度因卡而异

于 2015-01-20T09:49:07.620 回答