2

我有一个SSL x.509 证书的“主题”作为

Subject:    C=XX, ST=XX, L=XX, O=XX, OU=XX, emailAddress=admin@adobe.pw, CN=trustasia.asia

并且我想将其转换为在 SSL 证书中发现的二进制流,当它通过网络发送时,我知道定义主题字段在RFC-5280中以 ASN.1 表示法给出,而x.609中给出的 DER 编码规则将对此进行转换字段转换为二进制表示,这两个文档在代码的帮助下(它给出了 OID 的十六进制表示,例如id-at-countryName:2.5.4.6:{0x55, 0x04, 0x06})我能够隐藏所有 RDN(RelativeDistinguishedNames)到他们的二进制表示,但我坚持使用emailAdress字段。我找到了它的OID:1.2.840.113549.1.9.1但不知道它是什么十六进制表示。

您能否指导我如何将其转换为二进制表示。

4

2 回答 2

2

我怀疑您在谈论使用 ASN.1 可分辨编码规则 (DER) 进行 OID 编码。我建议查看这篇文章以获取有关 OBJECT_IDENTIFIER 编码规则的详细信息:OBJECT IDENTIFIER

OID 字符串值转换为 ASN.1 DER 将导致:

06 09 2A 86 48 86 F7 0D 01 09 01

其中,0x06 -- 是 OBJECT_IDENTIFIER 标签标识符,0x09 -- 编码的 OID 值长度,以字节为单位,其余字节 ( 2A 86 48 86 F7 0D 01 09 01) 表示 OID 二进制形式

于 2016-03-15T20:04:55.897 回答
1

emailAddress 是 IA5String 类型,因此它将以与主题行中所示相同的形式出现在证书中:“admin@adobe.pw”。

于 2016-03-16T10:34:01.703 回答