RFC2246(TLS 规范)列出了 SSL/TLS 握手的所有数据结构(以及我现在不关心的更多内容)。对于 certificate_request 握手类型,发送的项目之一是 DistinguishedName 对象列表 (certificate_authorities),它在规范中定义为不透明的(本质上,似乎是一个 blob)。然后规范说 DistinguishedName 派生自 [X509] - 但它没有说明它有多接近,或者它有什么不同。
我正在尝试解析原始的 certificate_requests 握手消息,并在解码 DistinguishedName 时遇到了麻烦。下面是 certificate_authorities 的示例十六进制 - 但是 DistinguishedName 格式的确切规范在哪里?
样本:
007f307d310b300906035504061302494c31163014060355040a130d5374617274436f6d204c74642e312b3029060355040b1322536563757265204469676974616c204365727469666963617465205369676e696e6731293027060355040313205374617274436f6d2043657274696669636174696f6e20417574686f72697479008f30818c310b300906035504061302494c31163014060355040a130d5374617274436f6d204c74642e312b3029060355040b1322536563757265204469676974616c204365727469666963617465205369676e696e67313830360603550403132f5374617274436f6d20436c6173732031205072696d61727920496e7465726d65646961746520436c69656e74204341008f30818c310b300906035504061302494c31163014060355040a130d5374617274436f6d204c74642e312b3029060355040b1322536563757265204469676974616c204365727469666963617465205369676e696e67313830360603550403132f5374617274436f6d20436c6173732032205072696d61727920496e7465726d65646961746520436c69656e74204341008f30818c310b300906035504061302494c31163014060355040a130d5374617274436f6d204c74642e312b3029060355040b1322536563757265204469676974616c204365727469666963617465205369676e696e67313830360603550403132f5374617274436f6d20436c6173732033205072696d61727920496e7465726d65646961746520436c69656e74204341