Я скопировал файл PEM в/usr/local/share/ca-certificates/и выполнил обновления-ca-сертификаты, и я подтвердил, что полученный сертификат теперь включен в /etc/ssl/certs/ca-certificates.crt который является файлом, напечатанным curl-config -ca. Я также подтвердил, что сертификат, напечатанный openssl s_client -connect example.com:443, был идентичен моему файлу PEM. И все же я продолжаю получать сообщение об ошибке «Ошибка: 14090086: SSL: сообщение SSL3_GET_SERVER_CERTIFICATE: сертификат не удалось». Это происходит, даже если я использую параметр -cacert curl, как описано в http://curl.haxx.se/docs/sslcerts.html, чтобы сообщить, какой сертификат использовать.Почему скручивание не распознается самоподписанным сертификатом SSL?
Он работает, если я вообще отключу проверку сертификата с помощью curl -k, но я не хочу этого делать, потому что я пытаюсь написать тестовый жгут, который должен проверять SSL должным образом.
Он отлично работает, если я получаю доступ к одному и тому же URL-адресу в рыси, которая обычно жалуется на наличие ошибок SSL. Но я не могу просто использовать Lynx для этой тестовой жгуты, если только не могу найти способ заставить AsyncHTTPClient Tornado использовать Lynx вместо libcurl. И, похоже, не имеет никакого смысла, что установка самоподписанного сертификата удовлетворяет Lynx, но не завитка.
Я использую Ubuntu 12.04 LTS в виртуальном боксе с использованием Vagrant; он имеет завиток 7.22.0. Прокси-сервер, завершающий SSL, - это nginx/1.3.13, работающий на том же компьютере, а имя домена указывается на 127.0.0.1 с помощью записи в/etc/hosts.
Любые подсказки о том, что может быть проблемой? Благодарю.