Я использую Ubuntu 14.04 64bit с рабочим столом Unity. Это полностью обновленная установка с последней версией CA-сертификатов и последней доступной версией Firefox.
На днях я пытался скачать что-то с сайта Харпера и заметил, что Керл жалуется на сертификат.
Если я выполню эту команду:
curl -v https://harpers.org/wp-content/themes/harpers/images/logoBlack.png
я получу следующий вывод:
* Hostname was NOT found in DNS cache
* Trying 54.243.234.21...
* Connected to harpers.org (54.243.234.21) port 443 (#0)
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
Это глупо, поскольку сертификат Харпера выдается DigiCert и Firefox поставляется с этим сертификатом.
Так что я сделал это вручную, просто чтобы посмотреть, работает ли он:
cd /tmp/
wget https://www.digicert.com/CACerts/DigiCertGlobalRootCA.crt
openssl x509 -in DigiCertGlobalRootCA.crt -inform DER -out DigiCertGlobalRootCA.pem -outform PEM
wget https://www.digicert.com/CACerts/DigiCertSHA2SecureServerCA.crt
openssl x509 -in DigiCertSHA2SecureServerCA.crt -inform DER -out DigiCertSHA2SecureServerCA.pem -outform PEM
cat DigiCertGlobalRootCA.pem >> DigiCertGlobalRootCASHA2SecureServerCA.pem
cat DigiCertSHA2SecureServerCA.pem >> DigiCertGlobalRootCASHA2SecureServerCA.pem
curl -v --cacert DigiCertGlobalRootCASHA2SecureServerCA.pem \
https://harpers.org/wp-content/themes/harpers/images/logoBlack.png \
-o logoBlack.png 2> down.log
И получил это:
[ 113]Есть предложения?
Это решает проблему
wget -P /tmp/ -nv https://www.digicert.com/CACerts/DigiCertSHA2SecureServerCA.crt
openssl x509 -in /tmp/DigiCertSHA2SecureServerCA.crt -inform DER \
-out /tmp/DigiCertSHA2SecureServerCA.pem -outform PEM
sudo cp -uv /tmp/DigiCertSHA2SecureServerCA.pem /etc/ssl/certs
sudo c_rehash