Как добавить центр сертификации предприятия (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-сертификаты.

правильным / правильным решением является добавление сертификата в каталог pick up и запуск сценария pickup, update-ca-trust:

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

сценарий установки post для пакета 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 file (который может содержать флаги доверия недоверия/черного списка или флаги доверия для использования, отличного от TLS), есть небольшое изменение в шаге 1. В принципе, скопируйте сертификаты в каталог "/etc/pki/ca-trust/source/" вместо этого. Нет никакого вреда в копировании их в" обычное " место и перемещении их позже, если "обычный" каталог не работает.

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