Ho copiato il file PEM in/usr/local/share/ca-certificates/e ho eseguito update-ca-certificates e ho verificato che il certificato risultante è ora incluso in /etc/ssl/certs/ca-certificates.crt che è il file stampato da curl-config --ca. Ho anche verificato che il certificato stampato da openssl s_client -connect example.com:443 era identico al mio file PEM. Eppure continuo a ricevere l'errore "14090086: Routine SSL: SSL3_GET_SERVER_CERTIFICATE: verifica certificato fallita". Ciò accade anche se utilizzo l'opzione --cacert di curl come descritto in http://curl.haxx.se/docs/sslcerts.html per indicare quale certificato utilizzare.Perché il ricciolo non riconosce un certificato SSL autofirmato?
Funziona se disattivo la verifica del certificato del tutto con curl -k, ma non voglio farlo perché sto cercando di scrivere un cablaggio di test che dovrebbe verificare correttamente il protocollo SSL.
Funziona bene se accedo allo stesso URL in lynx, che normalmente si lamenta se ci sono errori SSL. Ma non posso usare Lynx per questo test harness, a meno che non riesca a trovare un modo per fare in modo che AsyncHTTPClient di Tornado usi Lynx invece di libcurl. E non sembra avere alcun senso che l'installazione del certificato autofirmato soddisfi Lynx ma non si arricci.
Sto usando Ubuntu 12.04 LTS in un VirtualBox con Vagrant; ha arricciatura 7.22.0. Il proxy di terminazione SSL è nginx/1.3.13 in esecuzione sulla stessa macchina e il nome del dominio è puntato su 127.0.0.1 da una voce in/etc/hosts.
Eventuali indizi su quale potrebbe essere il problema? Grazie.