Я использую Git на Windows. Я установил пакет msysGit. Мой тестовый репозиторий имеет самозаверяющий сертификат на сервере. Я могу получить доступ и использовать репозиторий, используя HTTP без проблем. Переход на HTTPS дает ошибку:
Проблема с сертификатом SSL: невозможно получить сертификат локального эмитента.
У меня есть самозаверяющий сертификат, установленный в доверенных корневых центрах сертификации моего компьютера под управлением Windows 7 - client. Я могу перейти к URL-адресу репозитория HTTPS в Internet Explorer без сообщений об ошибках.
В этом сообщении в блоге Филиппа Келли объясняется, что cURL не использует хранилище сертификатов клиентского компьютера. Я последовал совету поста в блоге, чтобы создать личную копию curl-ca-bundle.crt
и настроить Git для ее использования. Я уверен, что Git использует мою копию. Если я переименую копию; Git жалуется, что файл отсутствует.
Я вставил в свой сертификат, как уже упоминалось в сообщении в блоге, я все еще получаю сообщение «не удалось получить сертификат местного эмитента».
Я убедился, что Git все еще работает, клонировав репозиторий GitHub через HTTPS.
Единственное , что я вижу , что это отличается от блога в том , что мой сертификат является корневым - нет цепочки, чтобы добраться до него. Первоначально мой сертификат был получен после нажатия на ссылку IIS8 IIS Manager «Создать самоподписанный сертификат». Может быть, это каким-то образом отличает сертификат от того, что ожидает cURL.
Как я могу заставить Git / cURL принять самоподписанный сертификат?
{ "strict-ssl": false }
. Не благодари меня, поблагодари этого парня: stapp.space/fight-with-2 Я боролся с этой ошибкой почти 5 часов подряд!