2014-07-15 4 views
0

Мне в настоящее время нужно разобрать CommonName из пакета. У меня есть код, который работает до определенного момента, однако у меня возникли проблемы с пропуском члена «эмитента» в записи сертификата для TLSv1.2. Я провел исследование по формату записей SSL и исследовал дамп через wirehark. Я нашел формат, как правило, - Length, за которым следуют данные. Однако, пытаясь найти длину проблемы, я не могу ее получить и не согласуется с представленными байтами. Любые идеи ... или лучший способ пропустить поле эмитентов и перейти непосредственно к «теме» записи TLS 1.2. Закодировано в C .. Спасибо за полезные ответы.Разбор сертификата X509

+0

Вам нужен парсер ASN1. Google, что – LamonteCristo

ответ

1

Вам необходимо понять ASN.1. Go читать this book (это бесплатная загрузка). После того, как вы прочитали и поняли это, вы можете написать свой декодер, следуя ASN.1 specification for certificates. Это выполнимо, но требует большой помощи в реализации. На самом деле, это плохая идея, если вы не являетесь полубогом программирования C.

В качестве альтернативы, используйте библиотеку, которая уже знает, как декодировать сертификат. Как правило, OpenSSL.

Смежные вопросы