Skopiowałem plik PEM do/usr/local/share/ca-certificates/i uruchomiłem update-ca-certyfikaty, a ja zweryfikowaliśmy, że uzyskany certyfikat jest teraz zawarty w /etc/ssl/certs/ca-certificates.crt który jest plikiem wydrukowanym przez curl-config --ca. Sprawdziłem również, że certyfikat wydrukowany przez openssl s_client -connect example.com443 był identyczny z moim plikiem PEM. A jednak nadal otrzymuję komunikat "error: 14090086: SSL: SSL3_GET_SERVER_CERTIFICATE: certificate verify failed". Zdarza się to, nawet jeśli użyję opcji curl's --cacert, jak opisano w http://curl.haxx.se/docs/sslcerts.html, aby powiedzieć, jakiego certyfikatu użyć.Dlaczego zwijanie nie rozpoznaje samopodpisanego certyfikatu SSL?
Działa, jeśli wyłączę weryfikację certyfikatu razem z curl -k, ale nie chcę tego robić, ponieważ próbuję napisać testową wiązkę, która powinna poprawnie testować SSL.
Działa to dobrze, gdy uzyskuję dostęp do tego samego adresu URL w rysie, co zwykle narzeka, gdy występują błędy SSL. Ale nie mogę po prostu użyć Lynxa do tej uprzęży testowej, chyba że znajdę sposób na to, żeby AsyncHTTPClient Tornado używał Lynx zamiast libcurl. I wydaje się, że nie ma sensu, aby instalacja samopodpisanego certyfikatu była satysfakcjonująca dla Lynxa, ale nie dla curl.
Używam Ubuntu 12.04 LTS w Virtualboxie zasilanym przez Vagrant; ma zwijanie 7.22.0. Proxy kończące SSL to nginx/1.3.13 działające na tym samym komputerze, a nazwa domeny jest wskazywana 127.0.0.1 przez wpis w/etc/hosts.
Jakieś wskazówki dotyczące problemu? Dzięki.