Как исправить завиток: (60) SSL-сертификат: Недействительная цепочка сертификатов
Я получаю следующую ошибку: curl https://npmjs.org/install.sh | sh
на Mac OSX 10.9 (Mavericks):
install [email protected]
curl: (60) SSL certificate problem: Invalid certificate chain
More details here: http://curl.haxx.se/docs/sslcerts.html
Как это исправить?
Ответы
Ответ 1
Используя браузер Safari (не Chrome, Firefox или Opera) в Mac OS X 10.9 (Mavericks), посетите https://registry.npmjs.org
Нажмите кнопку "Показать сертификат", а затем установите флажок "Всегда доверять". Затем нажмите "Продолжить" и введите пароль, если требуется.
Curl теперь должен корректно работать с этим URL.
Ответ 2
Проблема - это промежуточный промежуточный сертификат с истекшим сроком действия, который больше не используется и должен быть удален. Вот сообщение в блоге от Digicert, объясняющее проблему и ее решение.
https://blog.digicert.com/expired-intermediate-certificate/
Я видел проблему с Github без загрузки через SSL в Safari и в командной строке с помощью git pull. Как только я удалил старый истеченный сертификат, все было в порядке.
Ответ 3
Прежде всего, вы должны быть осторожны с URL-адресами, которые вызывают ошибки SSL. При этом вы можете подавить ошибки сертификата в curl
с помощью
curl -k https://insecure.url/content-i-really-really-trust
Ответ 4
После обновления до OS X 10.9.2 у меня возникли недопустимые проблемы с сертификатами SSL с помощью Homebrew, Textmate, RVM и Github.
Когда я запускаю brew update
, я получаю следующую ошибку:
fatal: unable to access 'https://github.com/Homebrew/homebrew/': SSL certificate problem: Invalid certificate chain
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master
Мне удалось устранить некоторые проблемы, просто отключив проверку SSL в Git. С консоли (оболочка или терминал a.k.a.):
git config --global http.sslVerify false
Я лелею рекомендовать это, потому что он побеждает цель SSL, но это единственный совет, который я нашел, который работает в крайнем случае.
Я попробовал rvm osx-ssl-certs update all
, который заявил Already are up to date.
В Safari я посетил https://github.com и попытался установить сертификат вручную, но Safari не предоставила возможности доверять сертификату.
В конечном итоге мне пришлось Reset Safari (Safari → Reset меню Safari...). Затем после этого посетите github.com и выберите сертификат, и "Всегда доверяйте". Это неправильно, и удаляет историю и сохраненные пароли, но она разрешила мои проверки SSL. Сладостно-горькая победа.
Ответ 5
Другой причиной этого может быть дублирование ключей в KeyChain. Я видел эту проблему на двух маках, где был дубликат "DigiCert High Assurance EV Root CA". Один из них был в брекетинге для входа в систему, а другой - в системном. Удаление сертификата из брелка для входа в систему решило проблему.
Это повлияло на браузер Safari, а также на git в командной строке.
Ответ 6
ПРИМЕЧАНИЕ.. Этот ответ явно побеждает цель SSL и должен использоваться экономно как последнее средство.
Для тех, у кого есть проблемы со сценариями, которые скачивают скрипты, загружающие скрипты и требующие быстрого исправления, создайте файл с именем ~/.curlrc
С содержимым
--insecure
Это приведет к тому, что curl игнорирует проблемы с сертификатом SSL по умолчанию.
Убедитесь, что вы удалили файл по завершении.
UPDATE
Через 12 дней меня уведомили о повышении ответа на этот ответ, который заставил меня пойти "Хммм, я не выполнил свой собственный совет, не забудьте удалить это .curlrc
?", и обнаружил, что я этого не делал. Таким образом, это действительно подчеркивает, насколько легко оставлять ваши завитки незаметными, следуя этому методу.
Ответ 7
Я начал эту ошибку после установки последнего обновления инструментов командной строки (6.1) на Yosemite (10.10.1). В этом конкретном случае перезагрузка системы исправила ошибку (я не перезагружался с момента обновления).
Упомяните об этом, если кто-то с той же проблемой сталкивается с этой страницей, как и я.