ГОСТ в OpenSSL
Материал из ALT Linux Wiki
(Различия между версиями)
(→Поддержка шифрования по ГОСТ в OpenSSL: орфография) |
(→Создание ключей) |
||
Строка 52: | Строка 52: | ||
== Создание ключей == | == Создание ключей == | ||
- | <source lang=" | + | <source lang="text" highlight="1">openssl genpkey -algorithm gost2001 -pkeyopt paramset:A -out ca.key 1024</source> |
+ | |||
+ | <source lang="text" highlight="1-2"># openssl req -new -x509 -days 365 -key ca.key -out ca.cer \ | ||
+ | -subj "/C=RU/ST=Russia/L=Moscow/O=SuperPlat/OU=SuperPlat CA/CN=SuperPlat CA Root" | ||
+ | 139647379359656:error:8007D06C:lib(128):PKEY_GOST_CTRL:invalid digest type:gost_pmeth.c:82:</source> | ||
== Используемая литература == | == Используемая литература == |
Версия 10:40, 1 октября 2016
Содержание |
Поддержка шифрования по ГОСТ в OpenSSL
Поддержка ГОСТ была добавлена в OpenSSL 1.0.0 сотрудниками "Криптоком".[1]
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
# openssl req -new -x509 -days 365 -key ca.key -out ca.cer \ -subj "/C=RU/ST=Russia/L=Moscow/O=SuperPlat/OU=SuperPlat CA/CN=SuperPlat CA Root"139647379359656:error:8007D06C:lib(128):PKEY_GOST_CTRL:invalid digest type:gost_pmeth.c:82:
Используемая литература
Ссылки
- ↑ http://www.cryptocom.ru/opensource/openssl100.html ГОСТ в OpenSSL 1.0.0