Как добавить центр сертификации предприятия (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
Более простые инструкции:
Просто скопируйте файл (ы) с доверенными сертификатами вашего предприятия (например, файлы.crt) и скопируйте их в каталог "/etc/pki/ca-trust/source/anchors/".
Запустите "update-ca-trust extract". Это создаст различные файлы, чтобы все работало.
Вы можете добавить или удалить файлы в каталоге и повторно запустить "update-ca-trust extract".
ПРИМЕЧАНИЕ. Если ваша организация одна из немногих, кто использует специализированные сертификаты в расширенном формате файла BEGIN TRUSTED (который может содержать флаги доверия недоверия / черного списка или флаги доверия для использования, отличного от TLS), на шаге 1 есть небольшое изменение. По сути, вместо этого скопируйте сертификаты в каталог "/etc/pki/ca-trust/source/". Нет ничего плохого в том, чтобы скопировать их в "обычное" местоположение и переместить их позже, если "обычный" каталог не работает.
Для более подробной информации, запустите "man update-ca-trust".