我正在处理Gemalto智能卡,并尝试获取存储在其中的两个证书的内容。为此,我已经成功发送了多个APDU命令。但是,我从未找到我的证书内容。
首先,我获取ODF(对象目录文件):
我得到了以下响应:
现在,我已获取了CDF(证书目录文件):
我获得了以下响应:
当我将上面的响应从十六进制转换为ASCII码(http://www.rapidtables.com/convert/number/hex-to-ascii.htm),我可以读取我的两个证书名称,后跟一个难以理解的字符串。例如:
第一张证书: 证书名称: "Certificat Signature IGC-CA" 难以理解的字符串: 4c388d418e9739fa014ebf5a98d12165
第二张证书: 证书名称: "Certificat Authentification IGC-CA" 难以理解的字符串: f4bfe554d7e9561859a81beef6b56923
因此,我认为可以获取到所有证书的内容,但是如何做到呢?"难以理解的字符串"包含哪些信息?
首先,我获取ODF(对象目录文件):
00 A4 00 0C 02 50 31
00 B0 00 00 3C
我得到了以下响应:
A0 06 30 04 04 02 70 02 A1 06 30 04 04 02 70 04 A4 06 30 04 04 02 70 05 A7 06 30 04 04 02 70 06 A8 06 30 04 04 02 70 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 90 00
现在,我已获取了CDF(证书目录文件):
00 A4 00 00 02 70 05
00 B0 00 00 E7
我获得了以下响应:
30 6D 30 3D 0C 1B 43 65 72 74 69 66 69 63 61 74 20 53 69 67 6E 61 74 75 72 65 20 49 47 43 2D 43 41 03 02 06 40 30 1A 30 06 03 02 07 80 05 00 30 07 03 02 06 40 04 01 C1 30 07 03 02 04 10 04 01 C1 30 22 04 20 34 63 33 38 38 64 34 31 38 65 39 37 33 39 66 61 30 31 34 65 62 66 35 61 39 38 64 31 32 31 36 35 A1 08 30 06 30 04 04 02 B0 01 30 74 30 44 0C 22 43 65 72 74 69 66 69 63 61 74 20 41 75 74 68 65 6E 74 69 66 69 63 61 74 69 6F 6E 20 49 47 43 2D 43 41 03 02 06 40 30 1A 30 06 03 02 07 80 05 00 30 07 03 02 06 40 04 01 C1 30 07 03 02 04 10 04 01 C1 30 22 04 20 66 34 62 66 65 35 35 34 64 37 65 39 35 36 31 38 35 39 61 38 31 62 65 65 66 36 62 35 36 39 32 33 A1 08 30 06 30 04 04 02 B0 02 FF FF 90 00
当我将上面的响应从十六进制转换为ASCII码(http://www.rapidtables.com/convert/number/hex-to-ascii.htm),我可以读取我的两个证书名称,后跟一个难以理解的字符串。例如:
第一张证书: 证书名称: "Certificat Signature IGC-CA" 难以理解的字符串: 4c388d418e9739fa014ebf5a98d12165
第二张证书: 证书名称: "Certificat Authentification IGC-CA" 难以理解的字符串: f4bfe554d7e9561859a81beef6b56923
因此,我认为可以获取到所有证书的内容,但是如何做到呢?"难以理解的字符串"包含哪些信息?