Подсказка

В данном документе для примера указано имя сервера slgate.eltex.loc. Его необходимо заменить на то имя сервера, которое будет использоваться разворачиваемым сервером SL-Gate.

В рамках настройки SL-Gate требуется создать пару сертификатов для безопасного обращения ядра платформы к API SL-Gate.

Создание сертификата ca.crt для сервиса SL-Gate

1.1 Сгенерируйте сертификат slgate.eltex.loc.crt и ключ slgate.eltex.loc.crt.key при помощи следующей команды:

sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/ssl/private/slgate.eltex.loc.crt.key -out /etc/ssl/certs/slgate.eltex.loc.crt

В процессе выполнения необходимо ответить на следующие вопросы:

ПараметрНеобходимость указанияПример
Country Name (2 letter code) [AU]ТребуетсяRU
State or Province Name (full name) [Some-State]ТребуетсяNovosibirsk
Locality Name (eg, city)ТребуетсяNovosibirsk
Organization Name (eg, company) [Internet Widgits Pty Ltd]ОпциональноEltex Enterprise LTD.

Organizational Unit Name (eg, section) []

ТребуетсяCPE
Common Name (e.g. server FQDN or YOUR name) []Требуетсяslgate.eltex.loc
Email Address []Требуетсяslgate@slgate.eltex.loc

1.2. По окончании генерации сертификата выполните следующую команду:

sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

1.3. Создайте файлы конфигурации для авторизации с помощью SSL-сертификата:

sudo mkdir /etc/ssl/slgate.eltex.loc
cd /etc/ssl/slgate.eltex.loc
sudo mkdir db
sudo mkdir db/certs
sudo mkdir db/newcerts
sudo touch db/index.txt
sudo sh -c "echo '01' > db/serial"
sudo chmod 700 ./

1.4.Создайте конфигурационный файл /etc/ssl/slgate.eltex.loc/ca.conf для подписания сертификатов:

sudo nano /etc/ssl/slgate.eltex.loc/ca.conf

В данный файл необходимо записать следующее содержимое:

ca.conf
[ ca ]
default_ca                  = CA_CITENAME           # Секция по умолчанию для подписи сертификатов
 
[ CA_CITENAME ]
droot                       = /etc/ssl/slgate.eltex.loc # Корневой каталог хранилища
dir                         = $droot/db             # Каталог базы хранилища
certs                       = $dir/certs            # Каталог сертификатов
new_certs_dir               = $dir/newcerts         # Каталог для новых сертификатов (pem)
 
database                    = $dir/index.txt        # Файл базы сертификатов
serial                      = $dir/serial           # Файл серийного номера
 
# Файл доверенного сертификата
certificate                 = $droot/ca.crt
# Закрытый ключ доверенного сертификата
private_key                 = $droot/ca.key
 
default_days                = 365                   # Срок действия нового сертификата (дни)
default_crl_days            = 7                     # Срок действия списка отозванных сертификатов
default_md                  = default
 
policy                      = policy_citename       # Политика секции
 
[ policy_citename ]
countryName                 = optional              # Необязательный параметр
stateOrProvinceName         = optional              # .......................
localityName                = optional              # .......................
organizationName            = optional              # .......................
organizationalUnitName      = optional              # .......................
commonName                  = supplied              # Обязательный параметр
emailAddress                = supplied              # .....................
 
[ req_distinguished_name ]
countryName                     = RU
countryName_default             = RU
countryName_min                 = 2
countryName_max                 = 2
 
stateOrProvinceName             = Novosibirsk
stateOrProvinceName_default     = Novosibirsk
 
localityName                    = Novosibirsk
localityName_default            = Novosibirsk
 
0.organizationName              = Eltex Enterprise LTD.
0.organizationName_default      = Eltex Enterprise LTD.
 
organizationalUnitName          = CPE
 
commonName                      = slgate.eltex.loc
commonName_max                  = 64
 
emailAddress                    = slgate@slgate.eltex.loc
emailAddress_max                = 64

1.5.Создайте самоподписанный сертификат и новый ключ сервера без пароля:

sudo openssl req -new -newkey rsa:2048 -nodes -keyout ca.key -x509 -days 365 -out ca.crt

В процессе выполнения необходимо ответить на следующие вопросы:

ПараметрНеобходимость указанияПример
Country Name (2 letter code) [AU]ТребуетсяRU
State or Province Name (full name) [Some-State]ТребуетсяNovosibirsk
Locality Name (eg, city)ТребуетсяNovosibirsk
Organization Name (eg, company) [Internet Widgits Pty Ltd]ОпциональноEltex Enterprise LTD.

Organizational Unit Name (eg, section) []

ТребуетсяCPE
Common Name (e.g. server FQDN or YOUR name) []Требуетсяslgate.eltex.loc
Email Address []Требуетсяslgate@slgate.eltex.loc


Файл ca.crt требуется переименовать в slgate_client.crt и переместить по пути /etc/ansible-iot/latest/slgate/gate/ssl/certs/slgate_client.crt на сервере, где будет расположен сервис SL-Gate

Создание сертификата slgate_client.p12 для платформы умного дома

2.1. Создайте для клиента (slgate_client.crt) закрытый ключ и запрос на сертификат (CSR) при помощи следующей команды:

sudo openssl req -new -newkey rsa:2048 -nodes -keyout slgate_client.key -out slgate_client.csr

В процессе выполнения необходимо ответить на следующие вопросы:

Необходимо обязательно задать CN и emailAddress отличные от указанных в /etc/ssl/slgate.eltex.loc/ca.conf

ПараметрНеобходимость указанияПример
Country Name (2 letter code) [AU]ТребуетсяRU
State or Province Name (full name) [Some-State]ТребуетсяNovosibirsk
Locality Name (eg, city)ТребуетсяNovosibirsk
Organization Name (eg, company) [Internet Widgits Pty Ltd]ОпциональноEltex Enterprise LTD.

Organizational Unit Name (eg, section) []

ТребуетсяCPE
Common Name (e.g. server FQDN or YOUR name) []

Требуется

Должен отличаться от указанного в /etc/ssl/slgate.eltex.loc/ca.conf

Client
Email Address []

Требуется

Должен отличаться от указанного в /etc/ssl/slgate.eltex.loc/ca.conf

client@slgate.eltex.loc

2.2. Подпишите запрос на сертификат (CSR) с помощью доверенного сертификата (CA). В процессе подписания используются параметры заданные в файле ca.conf:

sudo openssl ca -config ca.conf -in slgate_client.csr -out slgate_client.crt -batch

2.3. Экспортируйте сертификат slgate_client.crt и ключ slgate_client.key в один файл slgate_client.p12 при помощи следующей команды:

Вместо PASSWORD_HERE необходимо задать пароль.

Данный пароль потребуется при последующей настройке платформы умного дома

sudo openssl pkcs12 -export -in slgate_client.crt -inkey slgate_client.key -out slgate_client.p12 -passout pass:PASSWORD_HERE

Файл slgate_client.p12 требуется переместить по пути /etc/ansible-iot/latest/iot/core/ssl/private/slgate_client.p12 на сервере, где будет расположена платформа умного дома ELIS

  • Нет меток