Например, запуск wget https://www.dropbox.com
приводит к следующим ошибкам:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Например, запуск wget https://www.dropbox.com
приводит к следующим ошибкам:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Рассматривая текущие хакерские решения здесь, я чувствую, что я должен описать правильное решение в конце концов.
Во-первых, вам нужно установить пакет cygwin ca-certificates
через Cygwin setup.exe, чтобы получить сертификаты.
НЕ используйте завитки или похожие хаки для загрузки сертификатов (в качестве соседних советов по ответам), поскольку , которые в принципе небезопасны и могут поставить под угрозу систему.
Во-вторых, вам нужно указать wget, где находятся ваши сертификаты, поскольку он не выбирает их по умолчанию в среде Cygwin. Если вы можете сделать это либо с параметром командной строки --ca-directory=/usr/ssl/certs
(лучше всего для сценариев оболочки), либо путем добавления файла ca_directory = /usr/ssl/certs
в ~/.wgetrc
.
Вы также можете исправить это, запустив ln -sT /usr/ssl /etc/ssl
, как указано в другом ответе, но это будет работать , только если у вас есть административный доступ к системе. Другие описанные вами решения не требуют этого.
Если вам не нужно проверять правильность сертификата, просто добавьте параметр --no-check-certificate
в командной строке wget. Это хорошо сработало для меня.
ПРИМЕЧАНИЕ. Это открывает вам атаки man-in-the-middle (MitM) и не рекомендуется ни для чего, где вы заботитесь о безопасности.
Если проблема в том, что отсутствует известный корневой CA, а когда вы используете ubuntu или debian, вы можете решить проблему с помощью этой одной строки:
sudo apt-get install ca-certificates
Сначала необходимо установить SSL-сертификаты. Инструкции (на основе fooobar.com/questions/2821/...):
pushd /usr/ssl/certs
curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
c_rehash
Вышеупомянутое достаточно, чтобы исправить curl
, но wget
требует дополнительной символической ссылки:
ln -sT /usr/ssl /etc/ssl
Просто сделай
apt-get install ca-certificate
Если вы используете окна, просто перейдите на панель управления, нажмите "Автоматические обновления", затем нажмите ссылку "Центр обновления Windows". Просто следуйте шагу. По крайней мере, это работает для меня, больше никаких сертификатов не возникает, когда я перехожу на https://www.dropbox.com, как и раньше.