Почему OS X не доверяет SSL-сертификату GitHub?


68

Когда я захожу на любую страницу github.com в Chrome, я получаю большую уродливую ошибку:

Вы попытались связаться с github.com, но сервер представил сертификат, выданный лицом, которому операционная система вашего компьютера не доверяет. Это может означать, что сервер сгенерировал свои собственные учетные данные безопасности, на которые Chrome не может полагаться в качестве идентификационной информации, или злоумышленник может попытаться перехватить ваши сообщения.

Вы не можете продолжить, потому что оператор веб-сайта запросил повышенную безопасность для этого домена.

То же самое происходит (в Chrome и с curl), когда я тоже захожу на https://www.digicert.com/ . Эта странная проблема началась около полутора недель назад.

Вот что я вижу, когда нажимаю значок сломанного замка в адресной строке:

GitHub.com не работает Информация о сертификате GitHub.com

Но gist.github.com работает просто отлично:

Gist.GitHub.com работает Gist.GitHub.com Информация о сертификате

Это также не работает с curl:

Не работает с curl

Все отлично работает в Firefox.

Как я могу исправить проблему с корневым центром сертификации?

Вот как это выглядит в Firefox:

введите описание изображения здесь введите описание изображения здесь

Обновить:

Я заметил, что первый сертификат в цепочке отличается в моем сломанном Chrome / Safari по сравнению с Chrome на моем другом компьютере.

введите описание изображения здесь введите описание изображения здесь

(Нет больше отвратительного красного X, потому что я доверял ему в Safari.) Видите, как отличаются издатели? Что я могу сделать из этого?


Есть разница между * .github.com и github.com, какой браузер вы используете?
Ramhound

Хром. Он сломан в Chrome, но работает в Firefox. Это не работает с curl.
Тревор Диксон

Можете ли вы опубликовать информацию Firefox, которая показывает, что сертификат не содержит ошибок?
Ramhound

Добавлены картинки Firefox внизу.
Тревор Диксон

Та же проблема с самим digicert.com .
Тревор Диксон

Ответы:


42

это сработало для меня:

Keychain.app > Preferences > General > Reset My Default Keychain

ОБНОВИТЬ

Менее радикальным вариантом является удаление сертификата DigiCert из цепочки для ключей входа в систему : в любом случае он должен быть в корневой цепочке для ключей. Эта ошибка появляется, когда два не совпадают.


2
Кажется радикальным ...
JLundell

3
Я полагаю, что удаление сертификата в связке ключей логина могло бы также работать. Если я правильно понял, DigiCert в любом случае находится в корневой цепочке для ключей. Стоит попробовать перед сбросом. (Конечно, резервное копирование и т. Д.)
evacchi

Да, это сработало для меня. Пазл, почему он находится в цепочке для ключей входа в систему. На экзамене две версии не идентичны; Любопытно откуда взялась версия логина.
JLundell

приятно знать, я обновлю ответ.
Эвакчи

3
Кроме того: аналогичные проблемы могут быть вызваны наличием корневого сертификата с истекшим сроком действия в цепочке ключей входа в систему, которая переопределяет обновленные сертификаты из системных корней. Чтобы показать их, включите «Показать устаревшие сертификаты» в меню «Вид».
Арджан

79

Возникла новая проблема с 26 июля 2014 года, когда истек срок действия старого, очевидно, квазиширокого сертификата.

Основано на https://www.yesthatallen.com/fixing-an-old-digicert-issue/

Инструкция по очистке просроченного сертификата DigiCert SSL на OSX

 
  1. Запуск доступа к связке ключей через Spotlight
    • ⌘-Space
    • Тип "Брелок Доступ"
    • Хит возвращение
  2. Убедитесь, что истек срок действия сертификатов; включите «Показать устаревшие сертификаты» в меню «Вид».
  3. Поиск "Digicert".
  4. Щелкните правой кнопкой мыши сертификат с красным крестиком и выберите «Удалить DigiCert High Assurance EV Root CA»
  5. Сертификат может не выглядеть удаленным, пока не будет перезапущен Keychain Access
  6. Перезапустите ваши браузеры
Вы должны снова иметь доступ к затронутым сайтам.

 


2
Удаление сертификата не помогло, я перезагрузил компьютер. Проблема сохраняется. Любая идея?
Авиэль

9
Хорошо, я, вероятно, удалил слишком много цифровых сертификатов. Я зашел сюда на digicert.com/digicert-root-certificates.htm и загрузил сертификат «DigiCert High Assurance EV Root CA».
Авиэль

1
@Aviel Спасибо, загрузка и переустановка этого сертификата сделали это для меня.
Тим Скотт

1
Это сработало для меня как обаяние, а также решило аналогичную проблему с сафари (как и следовало ожидать). Мне нужно было перезапустить Chrome, хотя.
biggusjimmus

Большой! Это сработало для меня. Спасибо @ Аллен Хэнкок :)
Марк Робсон

2

Ни один из этих ответов не работал для меня. Вместо этого я нашел корневые сертификаты DigiCert, скачал их и установил вручную, щелкнув по ним в Finder.

Найдите их здесь в разделе Проверка хранилища промежуточных сертификатов: https://www.digicert.com/ssl-support/windows-cross-signed-chain.htm.


1

Я только что попробовал решение Джона, и оно не помогло. Хотя в моем случае я не нашел никаких значков «синий +» в классе.
Итак, все, что я сделал, это удалил два предложенных файла кэша и перезагрузился.
В моем случае я пытаюсь обновить приложение в Macports, которое использует git для подключения к github для загрузки исходного кода и выдает ошибку. И я вижу ошибку в Safari, но не в Firefox.

После вышесказанного я связался с DigiCert, и они очень помогли мне решить проблему. В Keychain Access-> Корни системы Категория: Сертификаты

DigiCert High Assurance EV Root CA-> Доверие-> Изменение SSL с: значение не указано на: Всегда доверять GTE CyberTrust Global Root-> Доверие-> Изменение SSL с: значение не указано на: Всегда доверять


1

Для меня проблема была решена запуском утилиты Keychain Access, выбрав Keychain First Aid в меню Keychain Access и выбрав Repair.


Похоже, что нажатие кнопки «Восстановить» очистило все мои сертификаты, поэтому это может быть побочным продуктом.
Серый

0

Некоторое время назад возникла проблема с различными сертификатами SSL, и обнаружил, что это работает для 90% этих проблем.

Удалите файлы /var/db/crls/crlcache.db и /var/db/crls/ocspcache.db. Их можно найти с помощью Finder's Go>; Перейти в меню «Папка» (Cmd + Shift + G). Это сбрасывает кэш принятых сертификатов в системе. Он не удаляет их, он просто заставляет систему перезагружать кэши при перезапуске.

Откройте доступ к связке ключей (/ Приложения / Утилиты / Доступ к связке ключей). Выберите Сертификаты в палитре «Категория» слева. В строке поиска введите слово Class. Просмотрите этот список и найдите все сертификаты, которые имеют синий значок + над значком. Это те, которые вам нужно изменить.

Выберите тот, который имеет синий +, и нажмите Ctrl + I. Нажмите треугольник раскрытия рядом со списком «Доверие», чтобы отобразить список разрешений. Теперь нам нужно настроить этот сертификат на использование системных значений по умолчанию. Однако по какой-то причине при его выборе он не сохраняется. Так что вам нужно сделать это. В разделе «Доверие», где указано «Secure Sockets Layer (SSL)», измените раскрывающееся меню на «Не указано значение». Затем закройте окно. Он попросит разрешения вашего администратора. Затем снова откройте информационную панель для этого сертификата. Снова под «Доверие», теперь установите раскрывающийся список «При использовании этого сертификата:», чтобы сказать «Использовать системные настройки по умолчанию». Затем вы можете закрыть информационную панель и снова ввести свой пароль. Сделайте это для любого из сертификатов, которые имеют синий значок + на их значке. Не более одного или двух.

Перезагрузите вашу систему.

Дайте мне знать, если это работает, мне было бы интересно, если это работает.

Поскольку ВСЕГДА есть резервная копия с использованием Time Machine, потому что, если она ухудшится, вы можете вернуться!


0

Для тех, которые удалили просроченный сертификат, но все еще имеют проблему. Запустите доступ к связке ключей, перейдите к пункту меню для него, выберите «Первая помощь связки ключей», запустите проверку, выполните ремонт, а затем снова запустите проверку, чтобы убедиться в этом. Проблема должна уйти.


Это похоже на ответ Кейта Беннетта 6 июля.
Скотт

0

Это помогло мне:

(хром, OsX)

  1. Откройте Keychain.app
  2. Поиск "digicert" в правом верхнем углу Keychain.app
  3. Выберите все сертификаты digicert и удалите их с помощью правой кнопки мыши и контекстного меню ( http://screencast.com/t/2T4f1XQa0Xu )
  4. Зайдите сюда http://digicert.com/digicert-root-certificates.htm
  5. Найдите на странице и загрузите сертификат DigiCert High Assurance EV Root CA
  6. После загрузки - нажмите на него и установите в свою цепочку для ключей.
  7. Перезагрузите свой хром

0

Я последовал совету Аллена, но у меня это не сработало. Вот и я попробую это. Похоже, это работает.

  1. Выполните все шаги Аллена.
  2. Откройте уязвимый сайт в Safari (например, github.com).
  3. Он выведет вам это окно с предупреждением. Нажмите «Показать сертификат». введите описание изображения здесь
  4. В раскрывающемся списке «При использовании этого сертификата:» выберите «Всегда доверять». Все 2 раскрывающихся списка будут следовать тому же правилу, которое вы выбрали здесь. введите описание изображения здесь
  5. Откройте Chrome, попробуйте получить доступ к уязвимому сайту (например, github.com).

Я попробовал это. Фейсбук загружается нормально. Но GitHub загружен без CSS. Я получаю скелет GitHub. Я не знаю, почему это произошло. Но связь уже установлена ​​и все в порядке.

Есть идеи, ребята?


0

Потратив много часов, пытаясь это исправить, я скачал - Link ;

  • DigiCert Global Root CA
  • DigiCert High Assurance EV Root CA
  • DigiCert Assurance ID Root CA

Не знаю, если это хорошая практика, но она работает для меня. Я использую OSX 10.9.5 и Chrome 42.0.2311.152 (64-разрядная версия)


0

Работайте для меня в MAC 10.10.3 1) Откройте доступ к цепочке ключей 2) Найдите DigiCert High Assurance EV Root CA 3) Дважды щелкните на DigiCert High Assurance EV Root CA 4) В Windows DigiCert High Assurance EV Root CA выберите TRUST 5) изменить с раскрывающимся списком меню при использовании этого сертификата с ВСЕГДА ДОВЕРЯЕТСЯ


0

Нашел ниже онлайн. Я был уверен, что это было что-то вроде того, как ты обманывал кого-то, нажимая ALT + F4 в Windows, но это сработало для меня и его коллеги:

  1. Нажмите где-нибудь в затронутой Chrome рамке
  2. На клавиатуре наберите: опасность

Вот и все, страница загружается. CSS не загружается, поэтому вы просто «Просмотр исходного кода», нажмите на файл CSS, и вы снова увидите сообщение об ошибке. Повторите шаги выше, и CSS отобразится. Тогда обновите страницу Github и все хорошо.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.