я пытаюсь написать код, который получает pcap
файл в качестве входных данных и возвращает из него недопустимые сертификаты.
я проанализировал цепочки сертификатов и пытаюсь их проверить.
Потому что я получаю цепочки сертификатов из pcap
длина цепочки не постоянна (иногда они включают только 1 сертификат, который является самоподписанным (и допустимым)).
пусть cert0.pem
быть серверами сертификата и certk.pem
корневой сертификат CAs.
согласно моим исследованиям в Интернете, я пытаюсь проверить сертификат следующим образом:
-
создайте файл
certs.pem
содержащий цепочку сертификатов в следующем порядке:certk.pem
,certk-1.pem
,... ,cert0.pem
-
использовать команду (
ca.pem
- файл, содержащий корневые сертификаты):openssl verify -CAfile ca.pem certs.pem
но иногда проверка идет неправильно даже для действительных сертификатов, как в следующий вывод:
C = US, O = GeoTrust Inc., CN = GeoTrust Global CA <br>
error 20 at 0 depth lookup: unable to get local issuer certificate<br>
error certs.pem: verification failed
пожалуйста, помогите мне, как я могу проверить цепочку сертификатов ?
кроме того, есть ли способ добавить проверку имени хоста в той же строке? (Я попытался добавить"-verify_hostname name
" но, опять же, выход был неожиданным).