Настройка сервера
Для взаимодействия приложений с веб-сервером «1С:Шина» использует протоколы HTTP и HTTPS. HTTPS обеспечивает безопасную передачу данных, шифруя трафик между клиентом и сервером. Это шифрование реализуется с помощью протокола TLS.
Принципы работы TLS-подключения
HTTPS-соединение с использованием TLS-протокола устанавливается следующим образом:
- Клиент отправляет запрос на сервер с информацией о поддерживаемых алгоритмах шифрования.
- Сервер отвечает, выбирая оптимальный алгоритм, и отправляет:
- свой SSL-сертификат;
- открытый ключ (для реализации асимметричного шифрования).
- Клиент проверяет:
- подлинность — выдан ли сертификат удостоверяющим центром;
- актуальность — не истек ли срок действия сертификата;
- действительность — не отозван ли сертификат;
- соответствие домену.
- Если проверка пройдена, устанавливается защищенное соединение — создаются сессионные закрытые ключи для симметричного шифрования:
- клиент генерирует pre-master secret, шифрует его открытым ключом и отправляет серверу;
- сервер расшифровывает его своим закрытым ключом;
- обе стороны вычисляют общий симметричный ключ, который будет использоваться для шифрования передаваемых данных.
- Далее все передаваемые данные шифруются симметричными алгоритмами, каждая сессия использует уникальные ключи.
Пример настройки HTTPS для локального сайта на примере сертификата PFX
Формат PFX или PKCS#12 — это стандартный способ хранения и передачи SSL-сертификатов вместе с закрытым ключом в одном защищенном файле. Используется в Windows-системах и многих веб-серверах. Файл сертификата имеет расширение .pfx
или .p12
.
В этом примере используется утилита с открытым исходным кодом mkcert. Она позволяет создать локальный удостоверяющий центр, а также сгенерировать самоподписанные SSL-сертификаты для этого центра.
Чтобы настроить HTTPS для локального сайта, выполните следующие действия:
- Windows
- Linux
- Скачайте подходящий релиз утилиты, например mkcert-v1.4.4-windows-amd64.exe, и установите утилиту.
- Выполните команду
mkcert-v1.4.4-windows-amd64.exe -install
, чтобы создать локальный удостоверяющий центр. - Выполните команду
mkcert -pkcs12 localhost
, чтобы сгенерировать закрытый ключ и сертификат. Скопируйте созданный файлlocalhost.p12
вdata\security
каталога экземпляра сервера. - Задайте настройки сервера в файлах server.yml и security.yml для HTTPS-протокола.
- Откройте панель управления, чтобы проверить правильность настройки.
- Скачайте подходящий релиз утилиты, например mkcert-v1.4.4-linux-amd64, и установите утилиту.
- Выполните команду
sudo apt install libnss3-tools
, чтобы установить утилиту libnss3-tools, которая обеспечивает поддержку работы с протоколом SSL/TLS. - Выполните команду
./mkcert-v1.4.4-linux-amd64 -install
, чтобы создать локальный удостоверяющий центр. - Выполните команду
mkcert -pkcs12 localhost
, чтобы сгенерировать ключ и сертификат. - Переименуйте созданный файл
localhost.p12
вlocalhost.pfx
:mv localhost.p12 localhost.pfx
. - Скопируйте созданный файл
localhost.p12
вdata\security
каталога экземпляра сервера. - Задайте настройки сервера в файлах server.yml и security.yml для HTTPS-протокола.
- Откройте панель управления, чтобы проверить правильность настройки.