Настройка TLS
Transport Layer Security (TLS) — протокол криптографической защиты данных, обеспечивающий безопасную передачу информации между узлами сети.
По умолчанию устройства поставляются со встроенными сертификатами, а также со стандартным доменным именем omnibox.kgost.ru . В случае, если заводские параметры не соответствуют внутренним политикам безопасности организации или техническим требованиям инфраструктуры, они могут быть заменены на пользовательские.
Данное руководство содержит инструкции по генерации сертификатов и последующей конфигурации Ключника для работы с ними.
Генерация самоподписанного TLS сертификата
Для управления криптографическими ключами используется утилита Openssl, которая является отраслевым стандартом безопасности и полностью совместима с современными сетевыми протоколами.
Создание корневого сертификата CA
- Создайте необходимые директории и сервисные файлы для учета выданных сертификатов
mkdir -p db
touch db/index.txt
echo "1000" > db/serial
- Создайте файл
openssl.cfg, который будет использоваться для определения параметров выпуска сертификатов.
В секции [crl_section] (параметр URI.1) необходимо указать корректный URL, по которому в вашей сети будет доступен список отзыва (CRL).
[ca]
default_ca = CA_default
[CA_default]
crl_extensions = crl_ext
database = db/index.txt
default_md = sha256
new_certs_dir = db
policy = policy_anything
serial = db/serial
x509_extensions = server_cert
copy_extensions = copy
[policy_anything]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
[server_cert]
basicConstraints = CA:FALSE
keyUsage = digitalSignature, keyEncipherment
extendedKeyUsage = serverAuth
crlDistributionPoints = @crl_section
[crl_ext]
authorityKeyIdentifier = keyid:always
[crl_section]
URI.1 = http://example.com/test_ca.crl
[req]
prompt = no
x509_extensions = req_v3_ca
[req_v3_ca]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer
basicConstraints = critical, CA:TRUE
keyUsage = critical, digitalSignature, cRLSign, keyCertSign
- Создайте приватный ключ (
test_ca.key) и сертификат (test_ca.crt) со сроком действия 365 дней:
openssl req -nodes -x509 -sha256 \
-newkey rsa:4096 \
-keyout test_ca.key \
-out test_ca.crt \
-days 365 \
-subj "/CN=Test CA" \
-config openssl.cfg
- Создайте CRL (Certificate Revocation List) файл и конвертируйте его в формат DER:
openssl ca -gencrl \
-keyfile test_ca.key \
-cert test_ca.crt \
-out test_ca.crl.pem \
-crldays 365 \
-config openssl.cfg && \
openssl crl -in test_ca.crl.pem -out test_ca.crl -outform DER && \
rm test_ca.crl.pem
CRL должен раздаваться в сети в формате DER.
Создание TLS сертификата
Для создания сертификата устройства требуются файлы, полученные на предыдущем этапе.
- Создайте закрытый ключ длиной 4096 бит:
openssl genrsa -out klyuchnik.test.local.key 4096
- Создайте запрос на сертификат (CSR) и укажите целевое доменное имя (например,
klyuchnik.test.local):
openssl req -new \
-key klyuchnik.test.local.key \
-out klyuchnik.test.local.csr \
-subj "/CN=klyuchnik.test.local" \
-addext "subjectAltName = DNS:klyuchnik.test.local"
- Выпуск сертификата:
openssl ca \
-batch \
-in klyuchnik.test.local.csr \
-out klyuchnik.test.local.crt.tmp \
-keyfile test_ca.key \
-cert test_ca.crt \
-days 365 \
-config openssl.cfg && \
openssl x509 \
-in klyuchnik.test.local.crt.tmp \
-out klyuchnik.test.local.crt \
-outform PEM && \
rm klyuchnik.test.local.crt.tmp
Справочная таблица сгенерированных файлов
| Файл | Описание |
|---|---|
| db/index.txt | База данных по выданным сертификатам |
| db/serial | Серийный номер очередного выдаваемого сертификата |
| openssl.cfg | Конфигурация openssl для выдачи корневого сертификата |
| test_ca.crt | Корневой сертификат CA |
| test_ca.key | Приватный ключ корневого сертификата CA |
| test_ca.crl | Список отзыва выданных TLS сертификатов (CRL) |
| klyuchnik.test.local.csr | Запрос на TLS сертификат |
| klyuchnik.test.local.crt | Выданный TLS сертификат |
| klyuchnik.test.local.key | Приватный ключ выданного TLS сертификата |
Смена TLS сертификата
Для обновления TLS или замены сертификата выполните следующие действия:
-
Запустите устройство в режиме восстановления.
-
Откройте в браузере административную панель.
-
Пропустить шаг сброса пароля администратора (шаг 1).

- Для применения индивидуальных настроек:
- В блоке «Домен и сертификаты» введите доменное имя, соответствующее вашему сертификату.
- Загрузите файл сертификата (или цепочку сертификатов) в поле «Сертификаты/цепочки (бандлы)».
- Подтвердите действие нажатием кнопки «Загрузить».

- Для возврата к заводским установкам
- Активируйте опцию «Восстановить настройки по умолчанию».
- Нажмите кнопку «Загрузить».

После перезагрузки система применит новые параметры и будет доступна по обновленному доменному имени с использованием установленного TLS-сертификата.