我有一个 SSL x.509 证书的“主题”
Subject: C=XX, ST=XX, L=XX, O=XX, OU=XX, emailAddress=admin@adobe.pw, CN=trustasia.asia
我想将其转换为在线发送时在 SSL 证书中找到的二进制流,我知道定义主题字段在 RFC-5280 中给出。在 x.609 中给出的 ASN.1 符号和 DER 编码规则中将此字段隐藏为二进制表示,这两个文档几乎没有来自 code 的帮助(它给出了 OID 的十六进制表示,例如 id-at-countryName:2.5.4.6:{0x55, 0x04, 0x06})我能够隐藏所有的 RDN(RelativeDistinguishedNames) 到他们的二进制表示,但我坚持使用 emailAdress 字段。 我找到了它的 OID:1.2.840.113549.1.9.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 二进制形式
关于ssl - 将 x.509 SSL 证书的主题字段中的 "emailAdress=<email-address>"转换为十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36020451/