Настройка https - turbotechnology/ISOLA.APIGate GitHub Wiki

Для того, чтобы служба ТХ.WEB Сервер стала работать по протоколу https (через SSL) необходимо:

  1. Скачать актуальную версию OpenSSL (i386-win32 / x64_86-win64)
    В папку bin подложить файлы libeay32.dll и ssleay32.dll
    Файлы качать из https://indy.fulgan.com/SSL/ или https://wiki.openssl.org/index.php/Binaries

  2. В файле 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
  1. Корневой сертификат должен быть установлен в системе.
    Для этого нужно запустить оснастку certmgr.msc от имени администратора (чтобы сертификат ставился для local machine, а не current user) и импортировать корневой сертификат в ветке Доверенные корневые центры сертификации\Сертификаты (Trusted root certification authority\Certificates).

    Начиная с Win2012 можно использовать оснастку certlm.msc

  2. Подключаемые файлы сертификатов должны быть в текстовом формате и незашифрованы.


Если требуется конвертация из 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