2014-11-28 2 views
3

Недавно я выполнил чистую установку Yosemite на своем MacBook Pro. До этого я взял резервную копию всех моих файлов, чтобы я мог снова начать работу. Однако у меня есть проблема с тем, чтобы git корректно работал с моими сертификатами, и я не знаю, почему.Почему я не могу прочитать мой файл сертификата в Йосемити?

Я установил git используя HomeBrew. Затем я скопировал свой оригинальный файл .gitconfig из своей резервной копии и поместил его в свой домашний каталог. Это когда проблемы начались. Мой файл содержит следующие строки: сертификационные

[http] 
    sslCAInfo = cacert.cert 
    sslCert = russellseymour.pem 
    sslKey = russellseymour.key 
    sslVerify = false 

Теперь такие вещи, как «обновление заварной» завершится со следующей ошибкой:

fatal: unable to access 'https://github.com/Homebrew/homebrew/': SSL: Can't load the  certificate "russellseymour.pem" and its private key: OSStatus -25299 
Error: Failure while executing: git pull -q origin refs/heads/master:refs/remotes/origin/master 

И теперь мерзавец является непригодным для использования. Мне нужно настроить сертификаты, чтобы я мог получить доступ к своему частному репо.

Кто-нибудь знает, есть ли для этого простое исправление? Это изменение в Йосемити?

Спасибо заранее,

Рассел

ответ

2

Добрый день,

Через некоторое играя о я наконец-то работал, что проблема есть.

Я действительно не понял, что KeyChain теперь используется Git. Поэтому, когда я запускал git, используя конфигурацию git, как показано выше, он импортирует мой сертификат в цепочку ключей.

Однако он не импортировал сертификат ЦС, который я назначил. Также я узнал (после большого поиска), что код ошибки OSStatus -25299 означает, что существует дубликат сертификатов!

Так, чтобы исправить все, чтобы мерзавец еще работал с самогоном и мое собственным хранилищем (и другими GIT РЕПО) я должен был сделать следующее:

  • удалить все конфигурации * SSL из файла .gitconfig
  • импортируйте мой сертификат и CA в брелок. Они должны были доверять, так что брелка будет использовать их
  • Как я не хотел, чтобы отключить аутентификацию для всего, что я использовал следующую команду, чтобы клонировать мое репо в первый раз:

git -c http.sslVerify=false clone https://my.repo/example

, а затем я запустил локальную конфигурацию в этом репозитории, чтобы убедиться, что сертификат не был проверен, например

cd example git config http.sslVerify=false

Я рад сказать, что теперь все теперь работает должным образом.

Russell

Смежные вопросы