Центр удаленного доступа  (08.07.2020)
Использование SSL сертификатов c ГОСТ алгоритмами

Для использования SSL сертификатов с ГОСТ алгоритмами необходимо произвести описанные ниже настройки.

        каталоги установки (по умолчанию), в которых расположен файл конфигурации сервиса:
  • Win32: C:\Program Files\ParusBalanceOnline\
  • Win64: C:\Program Files\ParusBalanceOnline\WIN64\
  1. Скачать библиотеку из состава OpenSSL, реализующую ГОСТ алгоритмы, в соответствии с используемой разрядностью приложения, которое будет использовать данную библиотеку.
    Если настраивается серверная сторона Сервиса, то в соответствии с его разрядностью, если настраивается клиентская сторона - приложение для удаленного доступа, то в соответствии с его разрядностью (на текущий момент только Win32).
    В случае настройки Сервиса, скопировать полученный файл в каталог с файлом конфигурации сервиса (см. каталоги установки по умолчанию):
           

    Указанные по ссылкам файлы взяты из версии OpenSSL1.0.2, которая соответсвует версии остальных библиотек распространяемых в стандартной поставке текущего Сервиса.

    Предполагается, что gost.dll должна работать только с соответствующей ей версии OpenSSL из состава которого эта библиотека была взята.

    Начиная с версии OpenSLL 1.1.0 библиотека gost.dll исключена из состава стандартной поставки OpenSSL, и оформилась в виде отдельного  продукта , который по прежнему требует соответствие версий с OpenSSL.

    Поддержка алгоритмов ГОСТ 2001 имеется во всех версиях библиотеки gost.dll. Однако поддержка алгоритмов ГОСТ 2012  реализована только в версиях начиная с  OpenSSL 1.1.0.

  2. Рядом со скопированным файлом создать файл конфигурации OpenSSL следующего вида:
    openssl_conf = openssl_def
    
    [openssl_def]
    engines = engine_section
    
    [engine_section]
    gost = gost_section
    
    [gost_section]
    engine_id = gost
    dynamic_path = ./gost.dll
    default_algorithms = ALL
    CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
        

    В случае использования существующего файла конфигурации, например поставляемого с самим OpenSSL, необходимо 1-ю строчку (openssl_conf = openssl_def) вставить в начало этого файла, а остальные строки в самый конец файла.

    Указанный файл конфигурации является примером, и может быть изменен пользователем в зависимости от требуемых настроек.

           

    Подобным образом возможно подключить любые другие расширения (engine) для OpenSSL.

    Например, в случае если приватный ключ сертификата хранится на аппаратном носителе (USB токен, смарт карт) который не допускает их экспортирования в файл, но при этом предосталяет возможность их использования через свой интерфейс. Обычно в таких случаях криптопровайдер распространяет расширения для интеграции с OpenSSL.

    В таких случаях, в процессе конфигурирования вместо указания пути к файлу (Параметры сетевых настроек, поле Закрытый ключ) необходимо указать через какое расширение можно обращаться к закрытому ключу:

    engine:<id расширения>:путь к закрытому ключу согласно документации криптопровайдера
            

    Например:

    engine:gostengy:www.techmill.ru
            

  3. Установить переменную окружения Windows с именем OPENSSL_CONF, и значением с полным путем к файлу конфигурации OpenSSL.
            В случае настройки клиента удаленного доступа для приложения Win32, это удобно настроить (как подключение файл конфигурации OpenSSL, так и установка переменной окружения OPENSSL_CONF) в процессе конфигурирования на странице Дополнительные модули и переменые окружения в составе клиента удаленного доступа.
  4. В случае настройки сервера приложений: в файле MillAppServer.conf в элемент /config/object[@class="{91D7A767-7222-4463-BC7F-AD40589E3426}"] найти изменить, или в случае его отсутствия, добавить узел <param name="CipherList" value="GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89"/>