Я пытаюсь написать код, который получает файл pcap в качестве входных данных и возвращает недействительные сертификаты от него.
Я проанализировал цепочки сертификатов и пытаюсь их проверить.
Поскольку я получаю цепочки сертификатов из pcap длина цепочки не постоянна (иногда они включают в себя только 1 сертификат, который является подписанным (и действительным)).
Пусть cert0.pem будет сертификатом сервера, а certk.pem - сертификатом корневого центра сертификации.
Согласно моим исследованиям онлайн, я пытаюсь проверить сертификат следующим образом:
Создайте файл
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 », но снова результат был неожиданным).
