Как получить и использовать сертификаты с помощью curl
-
Ввод следующей команды
curl -k email@mail.com:password https://www.example.com
Возвращает следующую ошибку
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8"> <TITLE>301 Moved</TITLE></HEAD><BODY> <H1>301 Moved</H1> The document has moved <A HREF="http://mail.google.com/mail/">here</A>. </BODY></HTML> badauth
-
После загрузки файла
cacert.crt
отсюдаhttp://www.cacert.org/index.php?id=3
Затем переименовал файл
cacert.crt
вcacert.pem
Затем попробовал:
curl --cacert /path/to/cacert.pem email@mail.com:password https://www.example.com
Но получите ту же ошибку.
-
Затем пытаюсь:
curl https://www.example.com
Я получаю эту ошибку
Curl: (60) Проблема с сертификатом SSL: не удается получить локальный эмитент сертификат Более подробная информация здесь: http://curl.haxx.se/docs/sslcerts.html
Curl выполняет проверку SSL-сертификата по умолчанию, используя "пакет" открытых ключей Центра сертификации (ЦС) (сертификаты ЦС). Если файл пакета по умолчанию не подходит, вы можете указать альтернативный файл с помощью параметра --cacert.
Если этот HTTPS-сервер использует сертификат, подписанный центром сертификации, представленным в пакете, проверка сертификата, вероятно, не удалась из-за проблемы с сертификат (срок его действия может истечь, или имя может не совпадать с доменным именем в URL-адресе).
Если вы хотите отключить проверку сертификата curl, используйте опцию -k (или --небезопасно) -
Поэтому я попытался с
-k
curl -k https://www.example.com
Но, конечно, получите ошибку
Badauth
Я предполагаю, что я делаю что-то не так с файлом сертификата, но я не знаю, где взять файл сертификата или что с ним делать это как только у меня это будет.
У меня, конечно, нет проблем с входом в систему с помощью браузера, но я хотел бы автоматизировать процесс с помощью командной строки, чтобы я мог сделать это с помощью tasker на своем планшете Android через Wi-Fi.