1

У меня есть настройка сервера, который имеет сертификат HTTPS, выданный крупным поставщиком сертификатов (DigiCert). Сертификат распознается всеми браузерами на компьютере под управлением Windows Server 2008 R2, включая Internet Explorer, Chrome и Firefox.

Тем не менее, сертификат не признается в Cygwin. Например, я получаю эту ошибку при попытке клонировать URL-адрес git с этого сервера:

error: SSL certificate problem: unable to get local issuer certificate while accessing [URL] fatal: HTTP request failed

Другие инструменты в Cygwin, которые я пытался выдать ту же ошибку, например, curl:

curl: (60) SSL certificate problem: unable to get local issuer certificate

У Digicert есть именно тот сертификат, который мне нужен. Моими идеальными решениями было бы либо обновить пакет сертификатов, которые использует Cygwin, либо вручную установить необходимый сертификат. Кажется, у Cygwin есть отдельное хранилище сертификатов от Windows. Как я могу это сделать?

Примечание: я не хочу просто игнорировать ошибку, так как многие пользователи используют эту машину и им потребуется доступ к одному и тому же серверу, поэтому игнорировать каждый раз не имеет смысла.

1 ответ1

0

Поскольку ваша команда git использует Curl для внутреннего использования, попробуйте curl --verbose https://the-repo-URL чтобы увидеть, что происходит.

Ожидаемый результат - та же ошибка, о которой вы сообщили: « Проблема с сертификатом SSL: невозможно получить сертификат локального эмитента ». Кроме того, в подробном выводе должно быть что-то вроде: * successfully set certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none

Вывод ошибки и выше переводится как: Сертификат X.509, используемый вашим репозиторием, либо самоподписан и не является доверенным для Curl, либо выдан Центром сертификации, которому не доверяет Curl.К местам, где мы искали привязку доверия, относились /etc/pki/tls/certs/ca-bundle.crt , но мы не смогли найти ничего подходящего.

Чтобы исправить это:

  1. (это сложная часть) Получить самоподписанный сертификат или корневой сертификат CA, выдавший сертификат
  2. Сохраните сертификат X.509 в формате PEM в каталоге /etc/pki/ca-trust/source/anchors
  3. Запустите команду update-ca-trust . Сделайте это с правами администратора. Также обратите внимание, что эта команда ничего не выводит.
  4. Готово! Тестовое задание.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .