从智能卡T和V缓冲器获取Simple-TLV

时间:2012-06-10 17:50:57

标签: cryptography

我正在从java智能卡读取PKCS证书对象,该证书在两个单独的缓冲区中返回证书数据。一个用于Tag&长度,另一个为价值观。 (即T-BUffer和V-Buffer)。 (ASN.1编码)

TL值的缓冲区看起来像..

06 00 15 01 72 27 00 00 80 00 FE 02 06 00 15 01 69 3F 06 00 15 01 68 FF 01 01 06 00 15 01 67 DD 06 00 15 01 DC 0B 06 00 15 01 66 FF 45 04 00 FF 20 02 C8 25 00 FF 20 02 DC 05 00 00 90 00 FE 05 07 00 15 01 72 27 07 00 15 01 69 39 07 00 15 01 68 FF 01 01 08 00 15 01 72 27 08 00 15 01 69 3A 08 00 15 01 68 FF 01 01 07 00 15 01 67 ED 07 00 15 01 DC 0B 07 00 15 01 66 FF 60 04 08 00 15 01 67 ED 08 00 15 01 DC 0B 08 00 15 01 66 FF

值缓冲区长度为5277字节,看起来像......

00 01 01 33 39 42 43 37 39 33 42 2D 42 36 32 33 2D 34 33 33 38 2D 42 39 35 31 2D 42 45 42 43 33 34 35 38 35 37 31 44 00 01 01 78 9C 53 62 64 60 60 66 60 60 60 64 60 64 02 32 45 80 CC B6 FF DF 9E 6C EE DF B8 F8 E0 71 D7 CC 73 35 AE 01 AE B2 76 35 2C 8C 20 25 40 C0 06 63 28 02 49 16 10 83 83 81 01 00 EC 33 0B A2 00 DF 07 9F F5 B5 E7 D1 F3 1F 98 41 F2 9A 39 B3 6E 7C 34 4F CB E1 C1 E7 F4 69 17 63 5E CD B8 6C 10 14 8D 6A 4B 32 B0 90 27 22 44 97 A3 E7 1B 63 75 D5 F2 22 E7 07 22 B3 7F 01 FD 1E 3B BB 66 85 0B 48 68 DF CC 66 11 86 E9 D7 77 1A 31 2E 7D AB BF 89 4C 18 AF 74 B5 B5 5F 9D 4D F8 8C 84 03 13 12 10 37 E0 9E C5 E6 82 69 B2 ...

我正在尝试将TL和Vs组合回单个缓冲区,但是无法以有效ASN.1的方式实现这一点,而且在我得到之前我似乎总是耗尽标签到了价值的最后。最后,第一个标签表示零长度的对象标识符,这似乎没有多大意义。

非常感谢任何帮助。我看过很多规格。和善找到答案

谢谢,

2 个答案:

答案 0 :(得分:1)

我不了解这些T和V缓冲区如何工作的所有内容,但我可以在T缓冲区中找到标记,这对您有帮助。

您写道:“最后,第一个标签表示零长度的对象标识符,这似乎也没有多大意义。”

你是对的!第一个标签是 NOT 0x06,长度为0x00。

  • 在你的T缓冲区中,第一个标签是0x72,长度为0x27 - 我认为它是根据NIST IR 6887的MSCUID

  • 第二个标签是0x69

  • 第3个标签是0x68(可能是公钥,可能是字节反转)

  • 第4个标签是0x67

  • 第五个标签是0xDC(可能是PKI AID)

  • 第6个标签是0x66

  • 等...

认识到这种模式?在T缓冲区中,每个标记前面都有0_ 00 15 01。在我看到的特定卡片上,它是00 00 14 01,它出现在标签之前。

不幸的是,我不知道这4个字节是什么意思,如果你需要,我也不明白T缓冲区中标签长度之后的值是什么。

希望这是帮助您入门的宝贵信息。欢呼声,

Amé

答案 1 :(得分:0)

您写道:“数据应包含三个证书,我确实注意到模式06 00 15 01,但也注意07 00 15 01和08 00 15 01.”

有趣的观察。每个证书很可能被标记为 0x66

此外,我在 V-buffer 中注意到您的第二个对象以 78 9C 开头:这是 * Zlib 的标题压缩文件。您可能会在V-buffer中的其他位置找到此标头(例如,对于证书也是如此),您将需要先解压缩。在您获得有效的ASN.1之前,很多乐趣等着您: - )

祝你好运!

AME

* HTTP://en.wikipedia.org/wiki/Zlib
* HTTP://zlib.net/

相关问题