Настройка TLS
Transport Layer Security (TLS) — протокол криптографической защиты данных, обеспечивающий безопасную передачу информации между узлами сети.
Данное руководство содержит инструкции по генерации сертификатов и последующей конфигурации АП ЕСИА Шлюз.Коннект для работы с ними.
Генерация самоподписанного 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 eshk.test.local.key 4096 -
Создайте запрос на сертификат (CSR) и укажите целевое доменное имя (например,
eshk.test.local):openssl req -new \ -key eshk.test.local.key \ -out eshk.test.local.csr \ -subj "/CN=eshk.test.local" \ -addext "subjectAltName = DNS:eshk.test.local" -
Выпуск сертификата:
openssl ca \ -batch \ -in eshk.test.local.csr \ -out eshk.test.local.crt.tmp \ -keyfile test_ca.key \ -cert test_ca.crt \ -days 365 \ -config openssl.cfg openssl x509 \ -in eshk.test.local.crt.tmp \ -out eshk.test.local.crt \ -outform PEM rm eshk.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) |
| eshk.test.local.csr | Запрос на TLS сертификат |
| eshk.test.local.crt | Выданный TLS сертификат |
| eshk.test.local.key | Приватный ключ выданного TLS сертификата |
Смена TLS сертификата
Для обновления TLS или замены сертификата выполните следующие действия:
-
Запустите устройство в режиме восстановления.
-
Откройте в браузере административную панель.
-
В боковом меню выберите раздел Настройки:

-
На открывшейся странице выберите вкладку Настройки АП:

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

-
Нажмите кнопку «Сохранить» и подтвердите действие в появившемся окне.
После сохранения новой конфигурации приложение будет перезагружено. Сервис некоторое время будет недоступен.
После перезагрузки система применит новые параметры и будет доступна по обновленному доменному имени с использованием установленного TLS-сертификата.