После обновления macOS в приложении RuDesktop может появиться ошибка подключения вида:
certificate verify failed:
ssl/statem/statem_clnt.c: 1921
(self signed certificate in certificate chain)
Ошибка означает, что приложение не смогло проверить SSL/TLS-сертификат сервера: в цепочке сертификатов оказался самоподписанный корневой сертификат, которому клиент не доверяет. Это не обязательно означает, что соединение действительно скомпрометировано — часто причина в корпоративном прокси, VPN, антивирусе с проверкой HTTPS-трафика или в устаревшей версии самого клиента.
Что произошло у меня
Мне помогло обычное обновление самого RuDesktop до актуальной версии. После установки новой версии приложение снова нормально установило защищенное соединение, и ошибка исчезла.
Поэтому если вы столкнулись с такой проблемой сразу после обновления macOS, начните именно с обновления RuDesktop — это самый быстрый и безопасный вариант.
Первое, что стоит сделать
- Полностью закройте RuDesktop.
- Обновите приложение до последней доступной версии.
- Перезапустите Mac (но должно и без этого заработать).
- Откройте RuDesktop и попробуйте подключиться снова.
В RuDesktop на поддерживаемых macOS-клиентах обновление доступно через кнопку обновления, а также можно запустить клиент с параметром --update; автоматические обновления включаются в настройках: Settings → General → Auto Update.
Если после обновления проблема сохранилась, переходите к проверке сетевого окружения и сертификатов.
Другие возможные причины
| Причина | Как проверить | Что сделать |
|---|---|---|
| Корпоративный прокси или система фильтрации HTTPS | Ошибка появляется только в корпоративной сети или при включенном VPN | Обратиться к ИТ-отделу за корневым сертификатом корпоративного CA |
| Антивирус с проверкой HTTPS | Ошибка возникает при включенной защите веб-трафика | Временно отключить HTTPS-сканирование или добавить доверенный сертификат антивируса |
| Самоподписанный сертификат собственного сервера | Используется self-hosted RuDesktop-сервер | Установить сертификат от публичного CA либо доверить корневой сертификат сервера |
| Неполная цепочка сертификатов на сервере | Сервер отдает только leaf-сертификат | Развернуть fullchain.pem, а не только cert.pem |
| Устаревший клиент | Ошибка появилась после обновления macOS | Обновить RuDesktop |
Если используется корпоративный Mac
Если Mac управляется компанией, наиболее вероятная причина — корпоративный прокси, который подменяет HTTPS-сертификаты своим сертификатом. В этом случае нужно добавить в доверенные корневой сертификат корпоративного CA, а не отключать проверку SSL.
Через Терминал это можно сделать так:
sudo security add-trusted-cert -d -r trustRoot \
-k /Library/Keychains/System.keychain \
/путь/к/corporate-root-ca.crt
Либо через Связку ключей:
- Откройте Связка ключей.
- Перейдите в связку Система.
- Выберите Файл → Импортировать объекты.
- Импортируйте корневой сертификат компании.
- Откройте импортированный сертификат, раскройте Доверие и выберите Всегда доверять.
- Перезапустите RuDesktop.
Добавление сертификата в системную связку ключей делает его доверенным для приложений macOS; для доверия только в рамках текущего пользователя можно использовать связку login.
Если сервер свой
Если вы подключаетесь к собственному RuDesktop-серверу, лучше использовать валидный сертификат от публичного удостоверяющего центра, например Let’s Encrypt. Самоподписанный сертификат придется отдельно импортировать и доверять на каждом клиентском Mac, что неудобно для нескольких устройств.
Для self-hosted сервера также важно отдавать полную цепочку сертификатов (fullchain), а не только основной сертификат. Иначе часть клиентов может не суметь построить доверенную цепочку до корневого сертификата.
Чего не стоит делать
- Не отключайте проверку SSL-сертификатов в приложении, если такая настройка вообще доступна.
- Не добавляйте в доверенные случайные сертификаты из интернета.
- Не игнорируйте предупреждение, если вы не понимаете, какой сертификат подменяет соединение.
- Не удаляйте системные сертификаты macOS без понимания, зачем они нужны.
Ошибка проверки сертификата — защитный механизм: клиент не может убедиться, что соединение действительно идет к ожидаемому серверу, а не через посредника.
Итог
В моем случае после обновления macOS RuDesktop выдавал:
certificate verify failed: self signed certificate in certificate chain
Помогло обновление самого RuDesktop. Если вы столкнулись с той же ошибкой, сначала обновите клиент, перезапустите Mac и повторите подключение. Если это не поможет, проверьте VPN, корпоративный прокси, антивирус и корректность сертификатов на собственном сервере.
