Что означает ошибка SSL-сертификата на macOS
Ошибка SSL-сертификата (Secure Sockets Layer) на macOS возникает, когда браузер или приложение не может установить безопасное соединение с веб-сайтом из-за проблем с SSL-сертификатом. Типичные сообщения об ошибке включают:
- "SSL Certificate Error"
- "NET::ERR_CERT_DATE_INVALID" (в Chrome)
- "Недействительный сертификат безопасности" (в Safari)
Эта ошибка появляется при попытке доступа к HTTPS-сайтам и блокирует загрузку страницы, предупреждая о потенциальных рисках безопасности. Она не зависит от конкретного браузера — может возникать в Safari, Chrome, Firefox или других приложениях, использующих системные сертификаты macOS.
Причины возникновения
- Некорректная дата и время на Mac. Если системные дата и время неверны, SSL-сертификаты могут казаться просроченными или ещё недействительными. Это самая частая причина.
- Просроченный или самоподписанный сертификат сайта. Владелец сайта не обновил сертификат, или используется самоподписанный сертификат, не доверенный Apple.
- Отсутствие корневого сертификата в системе. macOS не имеет необходимого корневого сертификата для проверки сертификата сайта. Это часто происходит после обновления системы или при использовании редких центров сертификации (например, Let's Encrypt до 2021 года).
- Проблемы с сетью или брандмауэром. Сетевые устройства, корпоративные прокси или брандмауэры могут вмешиваться в SSL-соединение, подменяя сертификаты своими.
- Устаревшие сертификаты в Keychain Access. Хранилище ключей macOS может содержать устаревшие или повреждённые сертификаты, особенно после обновления ОС.
- Блокировка антивирусом или ПО для родительского контроля. Некоторые программы безопасности могут сканировать SSL-трафик и представлять свои сертификаты, что вызывает конфликты.
Способ 1: Проверка и исправление даты и времени
Самая частая причина ошибок SSL — неверные дата и время на компьютере. Исправьте это:
- Откройте Системные настройки → Общие → Дата и время.
- Убедитесь, что дата и время установлены правильно. Включите опцию Устанавливать автоматически, чтобы система синхронизировалась с серверами времени Apple.
- Если опция недоступна, щёлкните по значку замка внизу слева, введите пароль администратора и включите её.
- Перезагрузите браузер и попробуйте снова зайти на сайт.
⚠️ Важно: Если вы путешествуете или меняли часовой пояс, проверьте, что часовой пояс также установлен правильно.
Способ 2: Обновление корневых сертификатов через Keychain Access
Keychain Access управляет сертификатами macOS. Обновите их:
- Найдите и запустите Keychain Access (в папке Утилиты или через Spotlight, нажав
Cmd+Пробели введя "Keychain Access"). - В меню выберите Keychain Access → Обновить корневые сертификаты.
- Дождитесь загрузки и установки обновлений. Это может занять несколько минут, особенно при первом запуске.
- Перезапустите браузер и проверьте сайт.
💡 Совет: Если опция "Обновить корневые сертификаты" неактивна, убедитесь, что выбран системный цепочка ключей (System) в левой панели. Также проверьте, что у вас есть подключение к интернету.
Способ 3: Очистка кэша браузера
Иногда кэш браузера хранит устаревшие данные SSL. Очистите его:
- Для Safari:
- Откройте Safari.
- В меню выберите Safari → Очистить историю....
- Выберите всё время и нажмите Очистить историю.
- Также перейдите в Параметры Safari → Конфиденциальность → Управление данными веб-сайтов... и удалите данные для проблемного сайта.
- Для Google Chrome:
- Откройте Chrome.
- Перейдите в Настройки → Конфиденциальность и безопасность → Очистить историю браузера.
- Выберите все время, отметьте Изображения и файлы в кэше и Cookies и другие данные сайтов, затем нажмите Очистить данные.
- Для Firefox:
- Откройте Firefox.
- В меню выберите Firefox → Настройки → Конфиденциальность и защита.
- В разделе "Cookies и данные сайтов" нажмите Очистить данные... и выберите "Кэш веб-сайтов".
После очистки перезагрузите браузер.
Способ 4: Переустановка корневых сертификатов вручную
Если предыдущие шаги не помогли, добавьте недостающие сертификаты вручную:
- Определите, какой сертификат отсутствует. Откройте сайт в браузере, нажмите на замок в адресной строке и выберите Сертификат (или аналогично). Во вкладке "Доверие" посмотрите, кто является издателем (Issuer). Например, "Let's Encrypt", "DigiCert", "GlobalSign".
- Скачайте корневой сертификат от центра сертификации. Официальные источники:
- Let's Encrypt
- DigiCert
- Apple Trust Store (список доверенных корневых сертификатов Apple).
- Запустите Keychain Access.
- Перетащите скачанный файл
.cerили.crtв окно Keychain Access. Или используйте Файл → Импортировать элементы. - Выберите цепочку "Система" (System) в списке слева и нажмите Добавить.
- Введите пароль администратора для подтверждения.
- После добавления дважды щёлкните на сертификат в списке, разверните раздел Доверие и установите При использовании этого сертификата в Всегда доверять.
- Закройте Keychain Access и перезагрузите Mac.
Альтернатива через терминал (для опытных пользователей):
Откройте Терминал (в Утилитах) и выполните команду, заменив путь на актуальный:
# Добавление сертификата в системное хранилище
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain /путь/к/сертификату.cer
# Пример для Let's Encrypt (предварительно скачайте файл isrgrootx1.cer)
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/Downloads/isrgrootx1.cer
После выполнения введите пароль администратора. Перезагрузите браузер.
Способ 5: Временное отключение проверки SSL (для диагностики)
Внимание: Это небезопасно и рекомендуется только для временной диагностики или локальных тестов. Никогда не используйте на производственных сайтах!
- В Safari: При появлении ошибки нажмите Перейти на сайт (если доступно). Чтобы полностью отключить, включите меню разработчика: Safari → Настройки → Дополнения → внизу отметьте "Показывать меню 'Разработка' в строке меню". Затем в меню Разработка → отключите Безопасные соединения. После диагностики верните настройку.
- В Chrome: Введите
chrome://flagsв адресной строке, найдите "Allow insecure localhost" или "Безопасный DNS" и временно отключите. Для конкретных сайтов можно добавить исключение, нажав "Дополнительно" → "Перейти на сайт (небезопасно)". - В терминале (для
curlили других утилит): используйте флаг-kили--insecure, например:curl -k https://example.com.
После диагностики верните настройки обратно и примените постоянное решение из вышеперечисленных способов.
Профилактика
Чтобы избежать повторения ошибок SSL на macOS:
- Поддерживайте систему в актуальном состоянии: Регулярно устанавливайте обновления macOS и браузеров через App Store и Системные настройки → Обновление ПО. Обновления часто включают новые корневые сертификаты.
- Проверяйте дату и время: Убедитесь, что опция автоматической установки даты и времени включена. Если вы меняли батарейку CMOS (на старых Mac), дата может сброситься.
- Не игнорируйте предупреждения SSL: Если сайт показывает ошибку, не обходите её без понимания причин. Это может указывать на реальные угрозы, такие как атаки "человек посередине".
- Регулярно обновляйте корневые сертификаты: Хотя Keychain Access обновляется автоматически, можно периодически запускать "Обновить корневые сертификаты" вручную (см. Способ 2).
- Используйте надежные источники: Скачивайте сертификаты только с официальных сайтов центров сертификации. Избегайте неизвестных источников.
- Контролируйте корпоративные настройки: Если вы используете Mac в корпоративной сети, возможно, администратор установил специальные сертификаты. Свяжитесь с IT-отделом для их обновления.
Если проблема сохраняется после всех шагов, возможно, дело в настройках сети, антивирусе или брандмауэре. Проверьте, отключены ли они временно для диагностики. Для сложных случаев обратитесь в поддержку Apple или администратора сети.