ssl - 将 x.509 SSL 证书的主题字段中的 "emailAdress=<email-address>"转换为十六进制

标签 ssl ssl-certificate x509 asn.1 der

我有一个 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/

相关文章:

ssl-certificate - 使用服务器证书作为客户端证书

amazon-web-services - x509:证书对 *<rest-of-hostname> 有效,而不是 <bucket/hostname>

c - 将 X509 证书保存到文件

c# - 创建安全连接

javascript - 使用 window.open 下载的 Word 文档无法打开(IE7/IE8)

IE9 中基于 SSL 的 Flash 套接字似乎有数据限制

iis - ssl 证书链

java ssl handshake_failure 问题

c# - 我应该将 x509 证书的哪一部分存储在数据库中以查找用户?

ssl - 减少 Wildfly 日志中的 javax.net.ssl 噪音