Как узнать, почему macOS считает, что сертификат отозван?

Я не могу получить доступ к Википедии на обоих своих компьютерах Mac. macOS сообщает, что промежуточный сертификат, используемый для подписи сертификата Википедии ( GlobalSign Organization Validation CA - SHA256 - G2), был отозван.

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

Я не верю, что рассматриваемый сертификат был отозван, поэтому я вручную проверил CRL GlobalSign и службу OCSP, и оба сказали мне, что сертификат в порядке.

Существуют ли другие источники CRL, которые потенциально может использовать macOS? Есть ли способ попросить Security Framework сказать мне, что именно не так с сертификатом, по его мнению?

также вижу это для wikipedia/maxcdn/...
Я также столкнулся с этим на своем Mac (Sierra) при посещении Википедии. Это работает на моем устройстве iOS, хотя
Википедия развертывает на всех сайтах новый сертификат, на который не влияют проблемы, прямо сейчас: phabricator.wikimedia.org/T148045
Ни один из приведенных ниже ответов даже не пытается ответить на вопрос. Все они пытаются найти обходной путь...
@klanomath Я бы сказал так: все пытаются устранить последствия, зная первопричину, а вопрос в том, как диагностировать проблему.

Ответы (5)

Я попытался crlrefresh rpтакже вручную удалить кеш OCSP, sudo rm /var/db/crls/*cache.dbкак задокументировано GlobalSign .

Однако кэш, похоже, находится в другом месте в macOS 10.12 Sierra. Следующая команда сработала для меня и решила проблему:

$ sqlite3 ~/Library/Keychains/*/ocspcache.sqlite3 'DELETE FROM responses WHERE responderURI LIKE "%http://%.globalsign.com/%";'

Я также попытался удалить всю базу данных, но, похоже, она не возвращается автоматически.

Если не уверены, лучше просто восстановить ~/Library/Keychains/*/ocspcache.sqlite3*(в том числе -shmи -wal) из резервной копии до того, как серверы OCSP начали давать неверные ответы, например, со вчерашнего дня.

Я использую macOS Sierra, и эта команда sqlite решила проблему и для меня. Мне не нужно было выходить из системы или даже выходить из браузера. Сначала я сделал резервную копию ocspcache.sqlite3.
Это устранило проблему с Википедией в Safari, но Chrome по-прежнему блокирует меня.
Проблема, похоже, время от времени возвращается, но повторный запуск этой команды снова исправляет ее.
Вау, и под "иногда" я имею в виду примерно каждые несколько минут. Может быть, это не настоящее исправление в конце концов.
У меня это работает в Safari, а также в Chrome. Хрому потребовался перезапуск браузера.
Верно, wikipedia.org по-прежнему кажется мне заблокированным в Chrome, но /usr/bin/curlтеперь он работает с Safari.
Я тоже использую macOS Sierra, и команда sqlite отлично работает для меня в Chrome, а также в Safari. Не забудьте перезапустить браузеры после этого
Вероятно, это долгий путь, но убедитесь, что ваши системные часы точны.

Может быть, у GlobalSign проблема с их OCSP. Это взято из их твиттера ( https://twitter.com/globalsign/status/786505261842247680?lang=da )

В настоящее время у нас возникают проблемы с нашим OCSP, которые вызывают предупреждающие сообщения о сертификате. Мы стремимся исправить это как можно скорее.

А также

ОБНОВЛЕНИЕ: Если вы являетесь пользователем MAC, очистите кеш с помощьюcrlrefresh rp

или просмотреть и/или удалить CRL, кэш OCSP

На самом деле, я уже пробовал, crlrefresh rpи это, кажется, не помогает. В любом случае, я ищу способ убедить macOS сообщить мне точную причину, по которой он считает сертификат плохим (будь то OCSP или что-то еще).
Воздействие, вероятно, будет зависеть от того, были ли решены исходные проблемы?
Очистка кешей не решила проблему для меня, но, по крайней мере, у меня есть атрибуция проблемы.
Теперь есть своего рода пресс-релиз: globalsign.com/en/customer-revocation-error

Пробовал инструкцию от Global Sign, но она мне не особо помогла.

sudo rm /var/db/crls/*cache.dbНа самом деле не помогло, потому что есть другой файл кеша, crlcache2.dbкоторый не соответствует *cache.dbкритериям.

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

sudo rm /var/db/crls/crlcache2.db

Я думаю, что это безопасно, sudo rm /var/db/crls/*потому что в папке хранятся только файлы кеша. Но если вы решили это сделать, то делайте это на свой страх и риск.

Вопрос буквально звучит так: «Есть ли способ попросить Security Framework сказать мне, что именно не так с сертификатом, по его мнению?» Но это буквально то, что делает Security Framework.

MacOS считает, что сертификат был отозван, потому что промежуточный сертификат в его цепочке доверия был (непреднамеренно) отозван. См. Промах GlobalSign отменяет сертификаты HTTPS ведущих веб-сайтов .

Сообщение об ошибке, которое вы видите, сообщает вам, какой именно промежуточный сертификат был отозван. Что еще вы хотели бы знать?

Другой вариант - перейти на сайт, который вы никогда не используете, который использует globalsign, например (для всех говорящих по-английски) https://it.wikipedia.org (итальянская википедия), и когда появляется сообщение о том, что недействительный сертификат явно доверяет globalsign сертификат, пока этот CF не будет исправлен должным образом

Это плохая идея, имхо. Я всегда очень серьезно отношусь к предупреждениям о сертификатах и ​​не продолжаю. Что, если OP подвергся MITM-обработке, и они просто слепо щелкнули это предупреждение?
Пожалуйста, не делайте этого. Если этот сертификат когда-либо будет отозван по важным причинам, ваша система будет игнорировать этот отзыв до тех пор, пока вы не удалите явное доверие. Очистка кеша OCSP — гораздо более эффективный и безопасный способ решить эту проблему.