2014-10-27 3 views
7

При получении с мерзавцем на Cygwin вы получите:Как добавить сертификат предприятия (ЦС) мерзавцу на 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 и other bundle files, но на следующее обновление Cygwin снова появилось.

ответ

10

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

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

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

Правильное/правильное решение, чтобы добавить сертификат в подхвата каталог и запустить сценарий пикап, обновить-CA-доверие:

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

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

man update-ca-trust 
+0

Что должна делать команда 'curl -sL'? Это http-адрес, поэтому явно не получите цепочку сертификатов, как можно было бы ожидать из контекста. –

+0

В текущей версии 'git-remote-https' считывает сертификаты из'/mingw64/ssl/certs/ca-bundle.crt', потому что именно так он настроен в '/ c/ProgramData/Git/config'. Ни '/ mingw64/bin/update-ca-trust', ни'/usr/bin/update-ca-trust' не обновляют этот файл, чтобы сценарий не был полезен. Я еще не нашел, что еще. –

+0

@JanHudec На сегодняшний день, и с 2014 года, похоже, не так. Что такое git -version (git version 2.8.3) и uname -a (CYGWIN_NT-6.1-WOW black7 2.6.1 (0.305/5/3) 2016-12-16 11:50 i686 Cygwin), вы? –