3.13.1.1.6. Пример работы с сертификатами
Ниже приведен пример настройки Astra.HMI.WebViewer и Apache2 для возможности использования безопасных соединений с веб-приложением.
Используются приватный ключ "selfsigned.key", сертификат "selfsigned.crt".
Информация про форматы сертификатов доступна в разделе Формат сертификатов безопасности.
|
1. Необходимо перенести сертификат и ключ в защищенную директорию. Для этого перейдите в каталог с ними и выполните команды:
sudo mkdir -p /etc/apache2/ssl
sudo mv selfsigned.crt selfsigned.key /etc/apache2/ssl/
sudo chmod 600 /etc/apache2/ssl/*
|
2. В файле настроек "astra.hmi.webviewer.xml" добавьте запись и перезагрузите Astra.HMI.WebViewer:
<WebSocket Address="192.168.56.104" Port="8080" SslPort="4430" PrivateKeyPath="/etc/apache2/ssl/selfsigned.key" CertificatePath="/etc/apache2/ssl/selfsigned.crt"/>
|
3. Установите модуль Apache2 для работы c безопасными соединениями, выполнив команду:
sudo a2enmod ssl
|
4. Перезагрузите Apache2, выполнив команду:
sudo systemctl reload apache2
|
5. Создайте конфигурационный файл для сайта, выполнив команду:
sudo nano /etc/apache2/sites-available/000-default-ssl.conf
|
6. В открывшемся файле добавьте следующее содержимое и сохраните файл:
<VirtualHost *:443>
ServerAdmin webmaster@localhost
ServerName <имя_сервера>
ServerAlias <IP-адрес>
AstraMode off
DocumentRoot /var/www/html/build
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/selfsigned.crt
SSLCertificateKeyFile /etc/apache2/ssl/selfsigned.key
<Directory /var/www/html>
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
|
7. Включите сайт и перезагрузите Apache2, выполнив команды:
sudo a2ensite 000-default-ssl
sudo systemctl reload apache2
|
8. Для того, чтобы сайт открывался в WebContent на Linux, необходимо добавить его в доверенные NSS (Network Security Services), который используется браузером Mozilla Firefox в AstraLinux. Для этого скопируйте сертификат (selfsigned.crt) в удобное место, выполнив команду:
cp /etc/apache2/ssl/selfsigned.crt ~/selfsigned.crt
|
9. Установите утилиту для добавления сертификата в NSS, выполнив команду:
sudo apt install libnss3-tools -y
|
10. Необходимо найти папку профиля Firefox, для этого выполните команду:
ls ~/.mozilla/firefox/
|

Необходимо найти каталог в формате xxxxxxxx.default-release
|
11. Добавьте сертификат, выполнив команду:
certutil -d sql:$HOME/.mozilla/firefox/xxxxxxxx.default-release -A -t "C,," -n "MySelfSignedCert" -i ~/selfsigned.crt
|
Расшифровка флагов:
-d sql:$HOME/.mozilla/firefox/xxxxxxxx.default-release — путь к базе NSS
-A — добавить сертификат
-t "C,," — доверенный сертификат CA (Certificate Authority)
-n "MySelfSignedCert" — имя сертификата в базе
-i ~/selfsigned.crt — путь к файлу сертификата
12. Проверьте, добавлен ли сертификат, выполнив команду:
certutil -d sql:$HOME/.mozilla/firefox/xxxxxxxx.default-release -L
|

13. Открываем браузер и переходим:
https://<DNS-имя> (если DNS настроен).
https://<IP-адрес> (по IP-адресу).
