В данном документе для примера указано имя сервера |
В рамках настройки SL-Gate требуется создать пару сертификатов для безопасного обращения ядра платформы к API SL-Gate.
ca.crt для сервиса SL-Gate1.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 ] 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 |
Файл |
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 |
В процессе выполнения необходимо ответить на следующие вопросы:
Необходимо обязательно задать |
| Параметр | Необходимость указания | Пример |
|---|---|---|
| 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 при помощи следующей команды:
Вместо Данный пароль потребуется при последующей настройке платформы умного дома |
sudo openssl pkcs12 -export -in slgate_client.crt -inkey slgate_client.key -out slgate_client.p12 -passout pass:PASSWORD_HERE |
Файл |