Как добавить центр сертификации предприятия (CA) в git на cygwin (и некоторых дистрибутивах Linux)

При получении с git на Cygwin вы получаете:

Fetching origin
fatal: unable to access 'https://.../...git': SSL certificate problem: self signed certificate in certificate chain
error: Could not fetch origin

Сертификат был добавлен в /etc/ssl/certs/ca-bundle.crt и другие файлы пакета, но на следующем обновлении Cygwin проблема снова появилась.

2 ответа

Решение

git-remote-https прочитает следующие файлы для сертификатов ca:

/etc/ssl/certs/ca-bundle.crt
/etc/pki/ca-trust/extracted/openssl/ca-bundle.trust.crt

Если вы отредактируете эти файлы, они будут перезаписываться при каждом запуске установки Cygwin и обновлении пакета ca-Certificates.

Правильное / правильное решение - добавить сертификат в каталог подбора и запустить скрипт раскладки update-ca-trust:

curl -sL http://ca.pdinc.us  > /etc/pki/ca-trust/source/anchors/ca.pdinc.us.pem \
&& update-ca-trust

Сценарий после установки пакета ca-Certificates автоматически перезапускает сценарий update-ca-trust при каждом обновлении. Для дополнительной информации:

man update-ca-trust

Более простые инструкции:

  1. Просто скопируйте файл (ы) с доверенными сертификатами вашего предприятия (например, файлы.crt) и скопируйте их в каталог "/etc/pki/ca-trust/source/anchors/".

  2. Запустите "update-ca-trust extract". Это создаст различные файлы, чтобы все работало.

Вы можете добавить или удалить файлы в каталоге и повторно запустить "update-ca-trust extract".

ПРИМЕЧАНИЕ. Если ваша организация одна из немногих, кто использует специализированные сертификаты в расширенном формате файла BEGIN TRUSTED (который может содержать флаги доверия недоверия / черного списка или флаги доверия для использования, отличного от TLS), на шаге 1 есть небольшое изменение. По сути, вместо этого скопируйте сертификаты в каталог "/etc/pki/ca-trust/source/". Нет ничего плохого в том, чтобы скопировать их в "обычное" местоположение и переместить их позже, если "обычный" каталог не работает.

Для более подробной информации, запустите "man update-ca-trust".

Другие вопросы по тегам