Настройка https - turbotechnology/ISOLA.APIGate GitHub Wiki
Для того, чтобы служба ТХ.WEB Сервер стала работать по протоколу https (через SSL) необходимо:
-
Скачать актуальную версию OpenSSL (i386-win32 / x64_86-win64)
В папку bin подложить файлы libeay32.dll и ssleay32.dll
Файлы качать из https://indy.fulgan.com/SSL/ или https://wiki.openssl.org/index.php/Binaries -
В файле Config\servers.ini в разделе [HTTP] указать ключи
EnabledSSL- включает SSL
PortSSL- используемый порт (в случае порта по умолчанию 443 - можно не указывать)
RootCert- путь к корневому сертификату
Cert- путь к файлу сертификата (публичный ключ)
Key- путь к файлу ключа (секретный ключ)
После изменения servers.ini нужно перезапустить службу Web-сервер.
Начиная с какой-то версии интерфейс настроек SSL появился в администрировании: Настройки сервера\WEB сервер\HTTPS.
[HTTP]
EnabledSSL=1
PortSSL=443
RootCert=SSL\ca.crt
Cert=SSL\public.crt
Key=SSL\private.key
-
Корневой сертификат должен быть установлен в системе.
Для этого нужно запустить оснастку certmgr.msc от имени администратора (чтобы сертификат ставился для local machine, а не current user) и импортировать корневой сертификат в веткеДоверенные корневые центры сертификации\Сертификаты(Trusted root certification authority\Certificates).Начиная с Win2012 можно использовать оснастку certlm.msc
-
Подключаемые файлы сертификатов должны быть в текстовом формате и незашифрованы.
Если требуется конвертация из pfx-файла, используется команда openssl
openssl pkcs12 -in certificate.pfx -out certificate.txt -nodes
По необходимости будет запрошен пароль.
Эта команда сформирует файл certificate.txt, в котором содержатся все сертификаты пакета
в нешифрованном текстовом виде в порядке: секретный ключ, публичный ключ, корневой сертификат.
Их нужно сохранить в отдельные файлы и подключить в servers.ini (см. пункт 2).
Если требуется конвертация из бинарных der-файлов, используется команда openssl
openssl x509 -inform der -in certificate.der -out certificate.cer
Если файл ключа зашифрован, т.е. содержит BEGIN ENCRYPTED PRIVATE KEY, а не BEGIN PRIVATE KEY,
то для расшифровки используется команда openssl
openssl pkey -in encrypted.key -out decrypted.key