Подсказка
В данном документе для примера указано имя сервера 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
В данный файл необходимо записать следующее содержимое:
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/ssl/private/slgate_client.p12 на сервере, где будет расположена платформа умного дома ELIS