У curl есть опция -no-check-certificate, например wget?
Я пытаюсь сделать запрос curl на один из наших локальных серверов разработки, на которых работает dev-сайт, с самоподписанным сертификатом SSL. Я использую curl из командной строки.
Я видел некоторые сообщения в блогах, в которых упоминалось, что вы можете добавить в список сертификатов или указать конкретный (самоподписанный) сертификат как действительный, но есть ли вообще способ сказать «не проверять» сертификат ssl - как --no-check-certificate
, который имеет wget?
3 ответа
Да. С manpage:
-k, - insecure (SSL). Эта опция явно позволяет завиткам выполнять "небезопасные" SSL-соединения и переводы. Все попытки подключения SSL для обеспечения безопасности с помощью установленного пакета сертификатов CA по умолчанию. Это делает все соединения считающимися «небезопасными», fail, если используется -k, --insecure.
Вы можете использовать следующую команду для применения изменений для всех подключений:
$ echo insecure >> ~/.curlrc
В Windows просто создайте текстовый файл _curlrc
с текстом «insecure» в нем в %HOME%
, %CURL_HOME%
, %APPDATA%
, %USERPROFILE%
или %USERPROFILE%\Application Data
.
Преимущество использования вышеизложенного заключается в том, что он работает для всех команд curl
, но не рекомендуется, так как он может ввести Атаки MITM путем подключения к небезопасным и ненадежным хостам.
Вы используете самоподписанный сертификат. Почему бы вам не добавить CA в свой доверенный комплект CA (Linux) или добавить в хранилище доверенных сертификатов (Windows). Или просто используйте --cacert /Path/to/file
содержимое вашего файла Trusted Self Signed CA.
Другие ответы отвечают на вопрос, основанный на сопоставлении wget. Однако истинным спросом является то, как я могу поддерживать надежное соединение со знаком sign crt с curl. Основываясь на многих комментариях, безопасность является главной заботой в любом из этих ответов, и лучшим ответом будет доверие к Self-подписанному ЦС и оставить неповрежденные проверки завитушек.