我有一个'主题的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表示法给出,DER编码规则在{{{ 3}}将这个字段转换为二进制表示,这两个文档并没有x.609的帮助(它提供了OID的十六进制表示,例如 id-at-countryName:2.5.4.6:{0x55, 0x04,0x06} )我能够将所有RDN( RelativeDistinguishedNames )转换为他们的二进制表示,但我坚持使用 emailAdress filds。 我发现它的 OID:1.2.840.113549.1.9.1 但不知道它是十六进制表示。
请您指导我如何将其转换为二进制表示。
答案 0 :(得分:1)
我怀疑你是在谈论使用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二进制形式
答案 1 :(得分:1)
emailAddress的类型为IA5String,因此它将以与主题行中显示的格式相同的形式出现在证书中:'admin@adobe.pw'。