Настройка 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) перейдите в раздел SecurityTrusted 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.

    Часто задаваемые вопросы