Я пытаюсь выяснить, как к, с помощью m2crypto, проверяют цепочку доверия от версии с открытым ключом сертификата X509 назад одному из ряда известного корневого CA, когда цепочка может быть произвольно длинной. Модуль SSL.Context выглядит многообещающим за исключением того, что я не делаю этого в контексте соединения SSL, и я не вижу, как информация, переданная load_verify_locations, используется.
По существу я ищу интерфейс, которому это эквивалентно: openssl проверяют pub_key_x509_cert
Есть ли что-то как этот в m2crypto?
Спасибо.
Существует патч , который, возможно, нужно немного обновить, и мне потребуются модульные тесты, чтобы проверить его. Добро пожаловать!
Другой запутанный способ - создать сеанс SSL в памяти, в котором вы выполняете проверку. Twisted wrapper эффективно работает таким образом; Twisted действует как тупой сетевой канал, ничего не зная о данных, а M2Crypto шифрует / дешифрует данные в памяти, выполняя проверку сертификата на стороне.