我目前需要从数据包中解析CommonName。我的代码可以达到某一点,但是在跳过TLSv1.2的证书记录的“颁发者”成员时遇到了问题。我已经对SSL记录的格式进行了研究,并通过wireshark调查了转储。我发现格式通常是 - 长度,然后是数据。然而,当试图找到问题长度时,我似乎无法得到它,并且与所呈现的字节不一致。任何想法......或者更好的方法来跳过发行者字段,直接转到TLS 1.2记录的“主题”。以C编码。感谢您提供有用的回复。
答案 0 :(得分:1)
您需要了解ASN.1。阅读this book(免费下载)。阅读并理解后,您可以按照ASN.1 specification for certificates编写解码器。这是可行的,但需要很好的实施护理。事实上,除非你是C编程的半神,否则这是一个坏主意。
或者,使用一些已经知道如何解码证书的库。通常,OpenSSL。