Как исправить ошибки сертификата при использовании curl?
Когда я пытаюсь скачать с dl.google.com, я получаю эту ошибку:
ERROR: The certificate of `dl.google.com' is not trusted.
ERROR: The certificate of `dl.google.com' hasn't got a known issuer.
Вот весь вывод команды
$ curl https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.bash
| bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 3607 100 3607 0 0 2820 0 0:00:01 0:00:01 --:--:-- 3125
bash: line 77: [: Files: binary operator expected
wget -O - https://dl.google.com/dl/cloudsdk/release/google-cloud-sdk.tar.gz > tm
p.4wwaU246zk/google-cloud-sdk.tar.gz
--2013-12-12 11:05:41-- https://dl.google.com/dl/cloudsdk/release/google-cloud-
sdk.tar.gz
Resolving my.proxy.com my.proxy.com)... x.x.x.x
Connecting to my.proxy.com (my.proxy.com)|x.x.x.x|:1234... conne
cted.
ERROR: The certificate of `dl.google.com' is not trusted.
ERROR: The certificate of `dl.google.com' hasn't got a known issuer.
Читая этот вопрос: Как я могу исправить ошибки сертификата при запуске wget по URL-адресу HTTPS в Cygwin? можно добавить опцию --no-check-certificate в командной строке wget, но поскольку я использую curl вместо wget, есть ли подобная опция для приведенной выше команды?
Обновление: я пробовал
curl -k https://dl.google.com/dl/cloudsdk/release/install_google_cloud_sdk.ba
sh | bash
Но та же ошибка, может ли прокси / брандмауэр блокировать соединение?
1 ответ
Оригинальный ответ:
Вы ищете -k
или (долго) --insecure
.. man-страница - твой друг;)
-k, --insecure (SSL) Эта опция явно позволяет curl выполнять "небезопасные" соединения и передачи SSL. Все SSL-соединения пытаются сделать безопасными с помощью пакета сертификатов CA, установленного по умолчанию. Это делает все соединения, считающиеся "небезопасными", неудачными, если не используется -k, --insecure. См. Этот онлайн-ресурс для получения дополнительной информации: http://curl.haxx.se/docs/sslcerts.html
Изменить после обновления вопрос:
Вы показали, что вы уже используете -k
вариант здесь. Я глубже изучил ваш код и задачу, которую нужно выполнить:
Вы пытаетесь загрузить сценарий оболочки с серверов Google. Они будут иметь доверенный сертификат, значит, вам нужно удалить -k
как это небезопасно (как имя).
После загрузки вы отправляете скрипт прямо в bash
, Итак, первый вопрос: загрузка сценария прошла успешно? (Можете ли вы опубликовать сценарий на каком-нибудь пастбине, чтобы можно было проверить это для меня?) Продолжу объяснять после того, как на эти вопросы ответят