ГОСТ в OpenSSL
Материал из ALT Linux Wiki
Версия от 12:29, 27 сентября 2014; MichaelShigorin (обсуждение | вклад)
Поддержка шифрования по ГОСТ в OpenSSL
1. Установите пакет openssl-engines:
apt-get install openssl-engines
2. Измените конфигурационный файл OpenSSL. Для этого создайте скрипт gost-for-openssl следующего содержания:
# Adapt OpenSSL for GOST cryptography support # See http://www.cryptocom.ru/products/openssl-1-config-en.html . shell-version . shell-ini-config shell_ini_config_prefix="" cfg="/etc/openssl/openssl.cnf" grep -q '^openssl_conf' $cfg || sed -i '1iopenssl_conf = openssl_def' $cfg if [ $libshell_version -ge 3 ] ; then ini_config_set $cfg openssl_def engines engine_section ini_config_set $cfg engine_section gost gost_section ini_config_set $cfg gost_section engine_id gost ini_config_set $cfg gost_section default_algorithms ALL ini_config_set $cfg gost_section CRYPT_PARAMS id-Gost28147-89-CryptoPro-A-ParamSet else grep -q 'Gost' $cfg && exit cat >> $cfg << _EOF_ [openssl_def] engines = engine_section [engine_section] gost = gost_section [gost_section] engine_id = gost default_algorithms = ALL CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet _EOF_ fi
Запустите скрипт (под правами root):
sh gost-for-openssl
3. Проверьте, доступны ли шифры ГОСТ для OpenSSL:
$ openssl ciphers|tr ':' '\n'|grep GOST GOST2001-GOST89-GOST89 GOST94-GOST89-GOST89
Создание ключей
openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -out ca.key 1024