Настройка HTTPS на телефоне Yealink: сертификаты OpenSSL
Перевод веб-интерфейса IP-телефона Yealink на HTTPS повышает безопасность управления устройством. Многие пользователи сталкиваются с проблемой, когда браузер не доверяет самоподписанному сертификату, особенно при использовании IP-адреса вместо доменного имени. В этом руководстве мы подробно разберём, как создать корневой, серверный и клиентский сертификаты с помощью OpenSSL, правильно загрузить их в телефон и настроить доверие на стороне клиента.
Почему браузер не доверяет сертификату на Yealink?
Основная причина - отсутствие цепочки доверия. Если вы используете IP-адрес (например, 192.168.1.100) в Common Name (CN) сертификата, браузер не может проверить подлинность через публичный центр сертификации. Корневой сертификат должен быть добавлен в доверенные корневые центры сертификации вашей операционной системы, а серверный сертификат - подписан этим корневым. Если вы загрузили сертификаты на телефон, но не установили корневой сертификат в хранилище Windows или браузера, соединение остаётся небезопасным.
Пошаговая инструкция: создание сертификатов через OpenSSL
1. Создайте корневой сертификат (CA)
Корневой сертификат будет выступать доверенным центром. Выполните в терминале:
openssl genrsa -out ca.key 2048
openssl req -x509 -new -nodes -key ca.key -sha256 -days 3650 -out ca.pemПри запросе Common Name укажите, например, "My Yealink CA" - это не IP-адрес, а имя вашего центра сертификации.
2. Создайте серверный сертификат для IP-адреса
Сгенерируйте ключ и запрос на сертификат (CSR). В Common Name обязательно укажите точный IP-адрес телефона (например, 192.168.1.100).
openssl genrsa -out server.key 2048
openssl req -new -key server.key -out server.csrЗатем подпишите серверный сертификат корневым:
openssl x509 -req -in server.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out server.crt -days 365 -sha256 -extfile <(printf "subjectAltName=IP:192.168.1.100")Ключевой момент: добавьте параметр subjectAltName (SAN) с IP-адресом - без него современные браузеры будут блокировать соединение.
3. Создайте клиентский сертификат (опционально)
Если требуется взаимная аутентификация, повторите процесс для клиента:
openssl genrsa -out client.key 2048
openssl req -new -key client.key -out client.csr
openssl x509 -req -in client.csr -CA ca.pem -CAkey ca.key -CAcreateserial -out client.crt -days 365 -sha256Установка сертификатов на телефон Yealink
Через веб-интерфейс телефона (по HTTP) перейдите в раздел Security → Trusted Certificates. Загрузите ca.pem как корневой сертификат. Затем в разделе Device Certificate загрузите server.crt и server.key. После перезагрузки телефона включите HTTPS в настройках сети.
Настройка доверия на стороне клиента (Windows/браузер)
Чтобы браузер перестал выдавать предупреждение, установите корневой сертификат ca.pem в хранилище Доверенные корневые центры сертификации:
- Откройте Управление сертификатами компьютера (certlm.msc).
- Перейдите в папку Доверенные корневые центры сертификации → Сертификаты.
- Импортируйте
ca.pemчерез контекстное меню.
После этого перезапустите браузер и откройте https://IP-адрес-телефона - соединение должно стать доверенным (зелёный замок).
Распространённые ошибки и их решение
- Ошибка "NET::ERR_CERT_COMMON_NAME_INVALID": проверьте, что в SAN указан правильный IP-адрес и он совпадает с тем, который вы вводите в браузере.
- Сертификат не загружается в телефон: убедитесь, что формат файлов - PEM (текстовый, с тегами BEGIN/END). Yealink не поддерживает PFX/P12.
- После включения HTTPS интерфейс недоступен: временно переключитесь обратно на HTTP, проверьте правильность загрузки ключа и сертификата, затем повторите попытку.
Следуя этой инструкции, вы сможете полностью перевести веб-интерфейс телефона Yealink на HTTPS с корректной цепочкой доверия. Если у вас остались вопросы, обратитесь к документации производителя или сообществу администраторов Yealink.