Openssl с поддержкой гост 2012 для windows

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

2
branches

0
tags


Code

  • Use Git or checkout with SVN using the web URL.

  • Open with GitHub Desktop

  • Download ZIP

Latest commit

Files

Permalink

Failed to load latest commit information.

Type

Name

Latest commit message

Commit time

gostenginessl

Gost 2012 engine OpenSSL compiled for Windows 32

Use it with Openssl 1.1.0g https://slproweb.com/products/Win32OpenSSL.html

add gost.dll to the bin dir of OpenSSL

at the start of openssl.cfg add:
openssl_conf = openssl_def

at the end openssl.cfg add:
[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

Вариант 1: gost.dll — open source библиотека, которая раньше поставлялась вместе с OpenSSL, но начиная с версии OpenSSL 1.1, она была исключена из его состава, и оформилась в виде отдельного продукта https://github.com/gost-engine/engine .

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

Библиотека gost.dll должна использоваться только с соответствующей ей версией OpenSSL:

  • для OpenSSL < 1.1.0: берется из поставки самого OpenSSL, НЕподдерживает ГОСТ 2012
  • для OpenSSL >= 1.1.0: собирается самостоятельно из исходников ( https://github.com/gost-engine/engine ),  поддерживает ГОСТ 2012

В релизах сервиса до сентября 2020 включительно, использовались библиотеки OpenSSL 1.0.2. Поэтому возможно использовать библиотеку gost.dll из самого интялятора OpenSSL, либо можно скачать соответствующую библиотеку с нашего сайта:

  • Win32: https://techmill.ru/paruspub/parus8.5.6.1-2020.09/gost/gost.dll
  • Win64: https://techmill.ru/paruspub/parus8.5.6.1-2020.09/gost/win64/gost.dll

В штатной поставке текущего сервиса поставляются библиотеки OpenSSL версии 1.1.1. Поэтому необходимо самостоятельная сборка библиотеки gost.dll, либо можно воспользоваться версией собранной нами:

  • Win32: https://techmill.ru/paruspub/current/gost/gost.dll
  • Win64: https://techmill.ru/paruspub/current/gost/win64/gost.dll

Важно!

Необходимо использовать библиотеку соответствующую разрядности используемого приложения, которое будет использовать данную библиотеку. Например, если настраивается серверная сторона Сервиса, то выбирается в соответствии с его разрядностью, если настраивается клиентская сторона (приложение для удаленного доступа), то в соответствии с его разрядностью (на текущий момент только Win32).

Развертывание :

  1. Расположить библиотеку gost.dll нужной разрядности в каталог установки текущего сервиса, рядом с исполняемыми файлами, которые будут ее использовать. В случае использования Win64 разрядности сервиса — это подкаталог WIN64.
  2. Создать файл конфигурации OpenSSL:

    01openssl_conf = openssl_def
    02
    03[openssl_def]
    04engines = engine_section
    05
    06[engine_section]
    07gost = gost_section
    08
    09[gost_section]
    10engine_id = gost
    11dynamic_path = ./gost.dll
    12default_algorithms = ALL
    13CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
        

    В указанном примере файла конфигурации предполагается, что библиотека поддержки алгоритмов ГОСТ находится рядом с исполняемыми файлами. Но файл конфигурации может быть расположен в ином месте. В таком случае необходимо указать полный, а не относительный путь к библиотеке. Кстати, в качестве разделителя каталогов пути необходимо использовать прямой слэш «/» как в Unix, а не обратный, как в Windows, либо экранировать обратные слэши еще одним обратным слэшем — «\\».

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

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

    Кстати

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

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

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

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

    Например:

    engine:gostengy:techmill.ru
            
  3. Установить системную переменную окружения ОС с именем OPENSSL_CONF и значением указывающим полный путь к файлу конфигурации OpenSSL.

    Кстати

    В случае настройки клиента удаленного доступа для приложения Win32, это удобно настроить (как подключение файл конфигурации OpenSSL, так и установка переменной окружения OPENSSL_CONF) в процессе конфигурирования на странице Дополнительные модули и переменые окружения в составе клиента удаленного доступа.
  4. В файле конфигурации текущего сервиса MillAppServer.conf, который находится рядом с исполняемым файлом в зависимости от используемой разрядности, в элементе /config/object[@class=»{91D7A767-7222-4463-BC7F-AD40589E3426}»] найти и изменить (или в случае его отсутствия, добавить) узел <param name=»CipherList» value=»GOST2012-GOST8912-GOST8912 GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89″/> для поддержки всех версий ГОСТ — 2012, 2001 и 94, либо <param name=»CipherList» value=»GOST2012-GOST8912-GOST8912″/> для поддержки только версии ГОСТ 2012.

В случае проблем с использованием настроенного и запущенного сервиса, для проверки его работоспособности рекомендуется использовать утилиту openssl в режиме клиента TLS, с помощью команды openssl s_client -connect 127.0.0.1:443. В случае успешного соединения с сервером в выводе консоли будет указана вся информация об установленном соединении, такая как сертификат, версия протокола TLS, используемый шифр и многое другое. Перед использованием OpenSSL утилиты необходимо аналогично обеспечить настройку файла конфигурации OpenSSL, как указано в пункте 2 и установить системную переменную окружения ОС с именем OPENSSL_CONF, как указано в пункте 3.

Время на прочтение
5 мин

Количество просмотров 17K

В этой статье я хочу показать, как настроить Stunnel на использование российских криптографических алгоритмов в протоколе TLS. В качестве бонуса покажу, как шифровать TLS-канал, используя алгоритмы ГОСТ, реализованные в криптоядре Рутокен ЭЦП 2.0.

Но для начала давайте вообще разберёмся для чего нужен Stunnel. В двух словах — это программа, на которую можно переложить всю логику шифрования трафика между сервером и клиентом. Делается это следующем образом: допустим у вас есть клиент и сервер, которые общаются между собой без использования шифрования, аутентификации и проверки целостности. Вы могли бы переписать клиент и сервер так, чтобы все исходящие и входящие сообщения передавались между собой с учётом всех этих моментов, но для чего такие сложности, если можно это просто переложить на плечи другому приложения? Для решения такой задачи как раз подойдёт Stunnel.

Вам нужно просто настроить клиент таким образом, чтобы весь свой трафик он передавал на клиентский Stunnel, в свою очередь, он устанавливает безопасное соединение с сервером, отправляя данные на серверный Stunnel. Stunnel на сервере расшифровывает пришедший трафик и перенаправляет данные на вход серверу. Вышесказанное проще осознать глядя на эту диаграмму

Стоит заметить, что на сервере не обязательно должен стоять именно Stunnel, для работы с криптографическими алгоритмами. Здорово, что есть готовые демонстрационные стенды, которые поддерживают российскую криптографию, список которых есть в презентации с РусКрипто’2019.

Нам нужны стабильно работающие серверы, осуществляющие двухстороннюю аутентификацию.
Мы выбрали серверы КриптоПро как наиболее надёжные с полной реализацией стандарта ГОСТ TLS. Спасибо им за это :)

Звучит достаточно просто, давайте попробуем организовать этот процесс.

Подготовительный шаг

Нам понадобится:

  1. OpenSSL
  2. Stunnel
  3. rtengine
  4. Доступ к тестовым серверам КриптоПро, для проверки соединения по TLS

OpenSSL для Windows можно взять отсюда, а для пользователей линукса — из репозиториев или собрать самому, скачав свежую версию отсюда. Также его можно взять из Rutoken SDK, из директории openssl\openssl-tool-1.1, этот архив нам будет полезен и дальше, т.к. в нём находится интересующий нас rtengine. Stunnel можно найти здесь. Для работы необходима версия >= 5.56.

Скачать rtengine можно из Rutoken SDK, он лежит в директории openssl\rtengine\bin. Закинуть его нужно туда, где хранятся все движки openssl. Узнать путь до них можно с помощью

openssl.exe version -a

Но просто переместить движок в нужную папку — мало, нужно ещё сконфигурировать сам openssl для работы с ним. Узнаём где лежит файл с конфигурацией openssl.cnf с помощью той же команды, что указана выше (под виндой stunnel идёт с собственной версией openssl, поэтому файл с конфигурацией лежит в path\to\stunnel\config\openssl.cnf

# В начале напишем:
openssl_conf = openssl_def

...

# В конце файла:
# OpenSSL default section
[openssl_def]
engines = engine_section

[engine_section]
rtengine = gost_section

[gost_section]
dynamic_path = /path/to/rtengine.so
MODULE_PATH = /usr/lib/librtpkcs11ecp.so
default_algorithms = CIPHERS, DIGEST, PKEY, RAND

Давайте проверим, что rtengine подключился, для этого подключим токен и выведем список всех алгоритмов шифрования:

openssl ciphers -v

Напомню, что в Windows нужно проверять на openssl, который лежит рядом с stunnel
Если среди них будут присутствовать наши ГОСТы, значит всё настроено верно.

Настало время самого интересного: проверка установки соединения по ГОСТу с тестовыми серверами КриптоПро. Список данных серверов описан здесь (https://www.cryptopro.ru/products/csp/tc26tls). Каждый из этих серверов работает со своими алгоритмами для аутентификации и шифрования. Более того на портах 443, 1443, 2443,… запущены сервисы, которые воспринимают только определённые парамсеты. Так, например, по адресу http://tlsgost-256auth.cryptopro.ru происходит шифрование с аутентификацией с использованием алгоритмов GOST2012-GOST8912-GOST8912 и 256-битным ключом. Так же на порту 443 используется XchA-ParamSet, на порту 1443 — XchB-ParamSet, на порту 2443 — A-ParamSet и т.д.

Теперь, когда мы знаем, какой ключ нам нужен, давайте получим корневой сертификат от тестового сервера, выработаем ключи для работы и подпишем запрос на наш сертификат.

Простой способ (работает под Windows и Linux)

  1. Для того, чтобы получить корневой сертификат, зайдём на сайт тестового УЦ ООО «КРИПТО-ПРО». И нажмём на кнопку для получения сертификата. Отобразится новая вкладка, на которой нужно будет выбрать метод шифрования Base64 и нажать на кнопку «Загрузка сертификата ЦС». Полученный файл certnew.cer сохраняем.
  2. Переходим по ссылке. Устанавливаем все плагины, которые от нас просят. Нажимаем на кнопку ”Создать ключ”, и выбираем для генерации алгоритм «ГОСТ Р 34.10-2012 256-бит». Далее создаём запрос на сертификат, в графе «Применение» можно выбрать все. В графе Дополнительное применение: Аутентификация клиента и Пользователь центра регистрации КриптоПро.
  3. Опять открываем сайт тестового УЦ, но на этот раз нажимаем на кнопку «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64». Вставляем в поле содержимое нашего запроса, нажимаем на клавишу “Выдать” и загружаем сертификат user.crt в формате Base64. Полученный файл сохраняем.

Через командную строку

  1. Для того, чтобы получить корневой сертификат, зайдём на сайт тестового УЦ ООО «КРИПТО-ПРО». И нажмём на кнопку для получения сертификата. Отобразится новая вкладка, в которой нужно будет выбрать метод шифрования Base64 и нажать на кнопку «Загрузка сертификата ЦС». Полученный файл certnew.cer сохраняем.

  2. Теперь генерируем ключи.

    pkcs11-tool --module /usr/lib/librtpkcs11ecp.so --keypairgen --key-type GOSTR3410-2012-256:B -l --id 45 # 45 -- код символа ASСII id ключа (E)

    Стоит заметить, что сгенерированные на токене ключи не могут быть скопированы с токена. В этом состоит одно из основных преимуществ их использования.

  3. Создадим запрос на сертификат:

    openssl req -engine rtengine -new -key="pkcs11:id=E" -keyform engine -out client.req

  4. Опять открываем сайт тестового УЦ, но на этот раз нажимаем на кнопку «Отправить готовый запрос PKCS#10 или PKCS#7 в кодировке Base64». Вставляем в поле содержимое нашего запроса, нажимаем на кнопку Выдать и загружаем сертификат user.crt в формате Base64. Полученный файл сохраняем

Остался последний вопрос: Для чего всё это??? Зачем мы получали все эти сертификаты, ключи и запросы?

Дело в том, что они нужны протоколу TLS для двусторонней аутентификации. Работает это очень просто.

У нас есть сертификат сервера, и мы считаем его доверенным.

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

Мы отправили этот запрос и сервер подписал её своей ЭЦП. Теперь мы можем каждый раз предъявлять этот сертификат, подписанный корневым УЦ, тем самым подтверждая, что мы — это мы.

Конфигурирование Stunnel

Осталось только правильно настроить наш туннель. Для этого создадим файл stunnel.conf с настройками Stunnel по умолчанию и напишем туда следующее:

; уровень логирования и путь до лог-файла
debug = 7
output = /path/to/stunnel.log

; устанавливаем протокол защиты TLSv1
sslVersion=TLSv1

; подгружаем движок. 
engine=rtengine

; настраиваем туннель на клиенте
[remote system]
client=yes
; указываем engine, необходимый для подгрузки ключей
engineId=rtengine

; устанавливаем верификацию 2 (принудительную проверку сертификата)
verify = 2
; путь до корневого сертификата
CAFile = /path/to/certnew.cer
; путь до сертификата клиента
cert=/path/to/user.crt

; путь до ключа на токене.
key=pkcs11:model=Rutoken%20ECP;manufacturer=Aktiv%20Co.;id=E

; указываем откуда Stunnel принимает соединение и куда посылает
accept = localhost:8080
connect = tlsgost-256auth.cryptopro.ru:2443

Теперь, если всё сделано правильно, можно запустить Stunnel с нашей конфигурацией и подключиться к серверу:

stunnel.exe /path/to/stunnel.conf

Откроем браузер и зайдём по адресу localhost:8080. Если всё верно, то отобразится следующее:

Если же нет, то смотрим логи и используем отладчик, чтобы понять в чём же всё-таки проблема.

Если у вас остались какие-то вопросы, то милости просим в комментарии :)

OpenSSL GOST представляет собой криптографический движок, разработанный для операционной системы Windows, который поддерживает использование алгоритмов шифрования ГОСТ. Этот движок позволяет использовать криптографические функции ГОСТ, такие как шифрование, генерация и проверка электронной подписи, а также работы с сертификатами.

Основные возможности OpenSSL GOST включают поддержку алгоритмов шифрования, используемых в ГОСТ, включая Кузнечик, Магма и другие. Это позволяет обеспечить защищенное хранение и передачу информации, используя криптографические механизмы, основанные на отечественных стандартах и алгоритмах.

OpenSSL GOST предоставляет универсальный интерфейс для работы с криптографическими функциями ГОСТ и интегрируется с различными приложениями, такими как веб-браузеры, почтовые клиенты, программы для шифрования файлов и другими. Это делает его удобным и эффективным инструментом для обеспечения безопасности в среде Windows.

OpenSSL GOST – это надежный и проверенный временем криптографический движок, который отвечает требованиям безопасности, установленным отечественными и международными стандартами. Он позволяет использовать алгоритмы шифрования ГОСТ для защиты конфиденциальности и целостности данных в среде Windows.

Содержание

  1. Поддержка криптографического движка OpenSSL GOST в Windows
  2. Преимущества и возможности криптографического движка OpenSSL GOST
  3. Установка и настройка криптографического движка OpenSSL GOST для Windows

Поддержка криптографического движка OpenSSL GOST в Windows

Для работы криптографического движка OpenSSL GOST в Windows необходимо выполнить следующие шаги:

  1. Установить OpenSSL на компьютер с операционной системой Windows.
  2. Скачать и установить криптопровайдер Крипто Про CSP.
  3. Настроить OpenSSL для работы с криптопровайдером Крипто Про CSP.
  4. Скомпилировать криптографический движок OpenSSL GOST.
  5. Настроить OpenSSL для использования криптографического движка OpenSSL GOST.

После выполнения этих шагов можно начать использовать криптографический движок OpenSSL GOST для выполнения различных операций, таких как генерация ключей, шифрование и дешифрование данных, подписывание и проверка подписей.

Криптографический движок OpenSSL GOST обеспечивает высокую степень безопасности, используя стандартные алгоритмы шифрования и хэширования, определенные в ГОСТ Р 34.10-2012 и ГОСТ Р 34.11-2012. Эти алгоритмы обеспечивают надежную защиту данных и широко применяются в различных областях, таких как интернет-банкинг, электронная коммерция, электронный документооборот и многое другое.

Поддержка криптографического движка OpenSSL GOST в Windows позволяет использовать современные алгоритмы шифрования и хэширования для защиты ценной информации. Это дает возможность обеспечить конфиденциальность и целостность данных, а также проверить подлинность сообщений и данных.

Преимущества и возможности криптографического движка OpenSSL GOST

Преимущества использования OpenSSL GOST включают:

  1. Поддержка стандартов ГОСТ — OpenSSL GOST предоставляет реализацию алгоритмов шифрования, хэширования и цифровой подписи, определенных российскими стандартами ГОСТ. Это позволяет использовать эти алгоритмы для защиты информации, соответствующей российским требованиям и нормам безопасности.
  2. Совместимость с OpenSSL — OpenSSL GOST интегрируется в существующий код и приложения, использующие OpenSSL. Это позволяет легко адаптировать существующие решения для работы с алгоритмами ГОСТ без необходимости переписывания значительного объема кода.
  3. Поддержка различных операционных систем — OpenSSL GOST доступен для использования на различных операционных системах, включая Windows. Это делает его удобным выбором для разработчиков и администраторов, работающих с различными платформами.
  4. Надежность и безопасность — OpenSSL GOST прошел множество проверок на безопасность и широко используется в различных сферах, включая финансовые и банковские учреждения. Он предоставляет высокий уровень безопасности и надежности для защиты конфиденциальной информации.

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

Использование OpenSSL GOST обеспечивает надежную и эффективную защиту информации, соответствующую российским стандартам и требованиям безопасности. Он становится все более популярным выбором для разработчиков и организаций, работающих с криптографией в России.

Установка и настройка криптографического движка OpenSSL GOST для Windows

Шаг 1: Скачайте и установите бинарные файлы OpenSSL для Windows с официального сайта OpenSSL. Выберите подходящую версию для вашей операционной системы.

Шаг 2: Распакуйте скачанный архив с бинарными файлами OpenSSL в удобную для вас директорию на компьютере.

Шаг 3: Скачайте криптографический движок OpenSSL GOST для Windows с официального репозитория на GitHub.

Шаг 4: Распакуйте скачанный архив с криптографическим движком OpenSSL GOST в ту же директорию, где распакованы бинарные файлы OpenSSL.

Шаг 5: Откройте командную строку и перейдите в директорию, где находятся распакованные бинарные файлы OpenSSL.

Шаг 6: Выполните следующую команду в командной строке, чтобы сконфигурировать бинарные файлы OpenSSL с криптографическим движком OpenSSL GOST:

config -Tm32 -DOPENSSL_NO_HEARTBEATS -L. -d enable-gost -Iopenssl -Ie:/path/to/openssl-gost -Ie:/path/to/openssl-gost/crypt -Ie:/path/to/openssl-gost/x509

Замените пути e:/path/to/openssl-gost на реальные пути, где вы распаковали архив с криптографическим движком OpenSSL GOST.

Шаг 7: Выполните следующую команду в командной строке, чтобы скомпилировать и установить бинарные файлы OpenSSL с криптографическим движком OpenSSL GOST:

ms\do_nasm nmake -f ms
t.mak
nmake -f ms
t.mak test
nmake -f ms
t.mak install

Шаг 8: После успешной компиляции и установки бинарных файлов, вы можете использовать криптографический движок OpenSSL GOST в своих проектах на Windows.

Теперь у вас установлен и настроен криптографический движок OpenSSL GOST для Windows. Вы можете использовать ГОСТ алгоритмы в OpenSSL на платформе Windows.

Опишу для памятки как реализовать поддержку шифрования по ГОСТ Р 34.10-2012 (GOST2012) в OpenSSL 1.1.1 на Debian 10 Buster.

Реализация криптоалгоритмов российского ГОСТа для OpenSSL — https://github.com/gost-engine/engine

Устанавливаем необходимые зависимости для сборки пакетов:

apt-get install g++ gcc make

Установка OpenSSL

Скачиваем исходники, распаковываем их:

wget https://www.openssl.org/source/openssl-1.1.1p.tar.gz
tar -zxvf openssl-1.1.1p.tar.gz
cd openssl-1.1.1p

Собираем пакет и устанавливаем его:

./config --prefix=/usr/ssl --openssldir=/usr/ssl
make all
make install
cd ..

Вносим изменения чтобы по умолчанию использовалась установленная версия:

rm /usr/bin/openssl
ln -s /usr/ssl/bin/openssl /usr/bin/openssl
echo "/usr/ssl/lib" >> /etc/ld.so.conf.d/ssl.conf
ldconfig

Для проверки, выведем установленную версию:

openssl version -v
OpenSSL 1.1.1p  21 Jun 2022

Установка Cmake

Для корректной сборки gost-engine, установим последнюю (на момент написания статьи) версию cmake.

Устанавливаем необходимые зависимости:

apt-get install git libssl-dev

Скачиваем исходники, распаковываем их:

wget https://github.com/Kitware/CMake/releases/download/v3.23.2/cmake-3.23.2.tar.gz
tar -zxvf cmake-3.23.2.tar.gz
cd cmake-3.23.2

Собираем пакет и устанавливаем его:

./bootstrap --prefix=/usr
make
make install
cd ..

Для проверки, выведем установленную версию:

cmake --version
cmake version 3.23.2

Установка GOST-engine

Скачиваем исходники gost-engine, переключаем на коммит для версии openssl 1.1.1*:

git clone https://github.com/gost-engine/engine.git gost-engine
cd gost-engine/
git checkout openssl_1_1_1

Создаем каталог для размещения библиотеки gost и выполняем сборку и установку gost-engine:

mkdir -p /usr/lib/ssl/engines-3

cmake -DCMAKE_BUILD_TYPE=Release -DOPENSSL_ROOT_DIR=/usr/ssl -DOPENSSL_LIBRARIES=/usr/ssl/lib -DOPENSSL_ENGINES_DIR=/usr/ssl/lib/engines-3
cmake --build . --config Release
cmake --build . --target install --config Release

Настроим openssl на работу с gost-engine, конфигурационный файл (/usr/ssl/openssl.cnf) должен содержать следующую инструкцию в глобальном разделе, т.е. перед первым заголовком раздела, заключенным в квадратные скобки:

openssl_conf = openssl_def

В конец файла добавляем:

# GOST section
[openssl_def]
engines = engine_section

[engine_section]
gost = gost_section

[gost_section]
engine_id = gost
dynamic_path = /usr/ssl/lib/engines-3/gost.so
GOST_PK_FORMAT = LEGACY_PK_WRAP

Для проверки доступности gost-engine в openssl, выполним команды:

openssl engine
(rdrand) Intel RDRAND engine
(dynamic) Dynamic engine loading support
(gost) Reference implementation of GOST engine
openssl ciphers | tr ':' '\n' | grep GOST
GOST2012-GOST8912-GOST8912
GOST2001-GOST89-GOST89

Для проверки сгенерируем сертификат по алгоритму GOST2012:

openssl req -x509 -newkey gost2012_256 -pkeyopt paramset:A -nodes -keyout key.pem -out cert.pem
openssl x509 -outform der -in cert.pem -out cert.crt

В полученном сертификате смотрим алгоритм подписи, если он 1.2.643.7.1.1.3.2, то сертификат сгенерирован по ГОСТ Р 34.10-2012. Если на ПК установлен КриптоПро, то в Алгоритме подписи будет отображаться ГОСТ Р 34.11-2012/34.10-2012 256 бит.

 

ПОНРАВИЛАСЬ ИЛИ ОКАЗАЛАСЬ ПОЛЕЗНОЙ СТАТЬЯ, ПОБЛАГОДАРИ АВТОРА

  • Openssl self signed certificate windows
  • Openvpn без прав администратора windows
  • Openvpn connecting to management interface failed windows 10
  • Openvpn автоматическое подключение при запуске windows
  • Opera vpn для windows 10 скачать бесплатно на русском