OID:值是十六进制编码的

时间:2017-11-15 18:43:17

标签: openssl x509

我尝试解析X509-issuer-string。 由于原因,我不知道某些属性是用OID编码的。

E.g。

CN=TEST,DN=my.test.com,O=My State,C=MS,2.5.4.97=#130e414141505050

我的问题是关于最后一个问题。我很好,它没有命名,但有OID。

但我不知道如何解释这个价值。我希望每个角色都是2位十六进制。但前四个数字怎么样?那将是一些控制角色。

414141505050将是我期望的值(AAAPPP)。

但是前4个字节(130e)的含义是什么?

我没有找到任何OID编码十六进制值的定义。

我伪造了隐私的价值 - 所以如果它是一种校验和形式,它就会被破坏。

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

2.5.4.97organizationIdentifierhttp://oid-info.com/get/2.5.4.97)的OID,OpenSSL打印为OID,因为它在OID中没有名称映射。

有人认为#是OpenSSL-ese,“这是原始数据,十六进制编码”。原始值是DER编码值。 0x13标识这是(原始编码)可打印字符串。下一个字节(0x0E)表示它长14个字节。

由于您的414141505050只有6个字节长,因此假设您最初的值较长。