Почему curl не распознает самозаверяющий сертификат SSL?

Я скопировал файл PEM в / usr / local / share / ca-сертификаты / и запустил update-ca-сертификаты, и я убедился, что полученный сертификат теперь включен в /etc/ssl/certs/ca-certificates.crt, который файл, напечатанный curl-config --ca. Я также проверил, что сертификат, напечатанный openssl s_client -connect example.com:443, идентичен моему файлу PEM. И все же я продолжаю получать сообщение об ошибке «14090086: подпрограммы SSL: SSL3_GET_SERVER_CERTIFICATE: сбой проверки сертификата». Это происходит, даже если я использую параметр curl --cacert, как описано вhttp://curl.haxx.se/docs/sslcerts.html сказать ему, какой сертификат использовать.

Это работает, если я отключаю проверку сертификата вместе с curl -k, но я не хочу этого делать, потому что я пытаюсь написать тестовый комплект, который должен правильно проверять SSL.

Он работает нормально, если я получаю доступ к тому же URL в lynx, который обычно жалуется на наличие ошибок SSL Но я не могу просто использовать Lynx для этого теста, если не найду способ заставить AsyncHTTPClient Tornado использовать Lynx вместо libcurl. И, похоже, нет никакого смысла в том, что установка самозаверяющего сертификата удовлетворяет Lynx, но не скручивает.

Я использую Ubuntu 12.04 LTS в VirtualBox на базе Vagrant; у него есть curl 7.22.0. Терминальный прокси-сервер SSL - это nginx / 1.3.13, работающий на той же машине, а имя домена указывается на 127.0.0.1 записью в / etc / hosts.

Есть какие-нибудь подсказки, в чем может быть проблема? Благодарю.

Ответы на вопрос(1)

Ваш ответ на вопрос