Bug 24587

Summary: Enable gost by default
Product: Sisyphus Reporter: Yury A. Romanov <damned>
Component: opensslAssignee: Gleb F-Malinovskiy <glebfm>
Status: NEW --- QA Contact: qa-sisyphus
Severity: minor    
Priority: P3 CC: aen, asy, cas, ekorneechev, glebfm, lav, mike, radik, rider, shakirov
Version: unstable   
Hardware: all   
OS: Linux   

Description Yury A. Romanov 2010-11-18 09:53:57 MSK
Как-никак, в России живём, а у нас это единственный криптостандарт.

нужно добавить 
openssl_conf = openssl_def
в начале openssl.cnf
и
[openssl_def]
      engines = engine_section


[engine_section]
        gost = gost_section

[gost_section]
engine_id = gost
dynamic_path = /usr/lib64/openssl/engines/libgost.so
default_algorithms = ALL
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet
в конец файла
Comment 1 Dmitry V. Levin 2010-11-18 13:43:06 MSK
libgost.so вообще живет в отдельном пакете openssl-engines.
Comment 2 Michael Shigorin 2011-09-13 11:45:07 MSK
Хорошо бы в %description упомянуть:
$ apt-cache search ssl gost
$ _
Comment 3 Lenar Shakirov 2012-03-22 21:07:02 MSK
2Yury: Спасибо за совет, помог!

2ldv: есть какие-то сложности с этим исправлением?

2mike: +1, тоже сначала вошел в ступор при apt-cache search ssl gost
Comment 4 Dmitry V. Levin 2012-03-22 21:30:41 MSK
(In reply to comment #3)
> 2Yury: Спасибо за совет, помог!
> 
> 2ldv: есть какие-то сложности с этим исправлением?

Это не исправление.  Нехорошо конфигурировать неустановленный gost - некоторые операции перестанут работать.

> 2mike: +1, тоже сначала вошел в ступор при apt-cache search ssl gost

Предлагаете перечислить все engines в описании пакета openssl-engines?
Comment 5 Yury A. Romanov 2012-03-22 21:47:47 MSK
(In reply to comment #4)
> (In reply to comment #3)
> > 2Yury: Спасибо за совет, помог!
> > 
> > 2ldv: есть какие-то сложности с этим исправлением?
> 
> Это не исправление.  Нехорошо конфигурировать неустановленный gost - некоторые
> операции перестанут работать.
> 
> > 2mike: +1, тоже сначала вошел в ступор при apt-cache search ssl gost
> 
> Предлагаете перечислить все engines в описании пакета openssl-engines?

Может быть есть смысл собрать пакет openssl-engine-gost и заставить его включать ГОСТ в openssl.cnf по дефолту при установке?
Comment 6 Lenar Shakirov 2012-03-23 11:53:11 MSK
(В ответ на комментарий №4)
> (In reply to comment #3)
> > 2Yury: Спасибо за совет, помог!
> > 
> > 2ldv: есть какие-то сложности с этим исправлением?
> 
> Это не исправление.  Нехорошо конфигурировать неустановленный gost - некоторые
> операции перестанут работать.

Теперь понятно.

> > 2mike: +1, тоже сначала вошел в ступор при apt-cache search ssl gost
> 
> Предлагаете перечислить все engines в описании пакета openssl-engines?

В описании уже есть описание пяти engines, может добавить описание оставшихся семи?

---
# rpm -qpi openssl-engines-1.0.0f-alt1.i586.rpm | tail -n11
There are currently built-in ENGINE implementations for the following
crypto devices:

    o CryptoSwift
    o Compaq Atalla
    o nCipher CHIL
    o Nuron
    o Broadcom uBSec

In addition, dynamic binding to external ENGINE implementations is now
provided by a special ENGINE called "dynamic".
---
Comment 7 Sergey Y. Afonin 2013-04-02 21:15:14 MSK
(In reply to comment #4)
> (In reply to comment #3)
> > 2Yury: Спасибо за совет, помог!
> > 
> > 2ldv: есть какие-то сложности с этим исправлением?
> 
> Это не исправление.  Нехорошо конфигурировать неустановленный gost - некоторые
> операции перестанут работать.

# host -t ns www.ru 
02-Apr-2013 21:10:10.240 ENGINE_by_id failed
02-Apr-2013 21:10:10.240 error:25066067:DSO support routines:DLFCN_LOAD:could not load the shared library:dso_dlfcn.c:186:filename(/usr/lib/openssl/engines/libgost.so): /usr/lib/openssl/engines/libgost.so: cannot open shared object file: No such file or directory

Так что, похоже, что-то не работает без... Это bind-utils-9.9.2. Правда, я для p6 пересобрал, но ни про какие ssl никто не спрашивал... Сам Bind, кстати, тоже не стартует, пока libgost.so в /var/lib/bind не положишь... В Сизифе так же, или это издержки бакпортирования ?
Comment 8 Dmitry V. Levin 2013-04-02 21:25:14 MSK
(In reply to comment #7)
> # host -t ns www.ru 
> 02-Apr-2013 21:10:10.240 ENGINE_by_id failed
> 02-Apr-2013 21:10:10.240 error:25066067:DSO support routines:DLFCN_LOAD:could
> not load the shared
> library:dso_dlfcn.c:186:filename(/usr/lib/openssl/engines/libgost.so):
> /usr/lib/openssl/engines/libgost.so: cannot open shared object file: No such
> file or directory

%_libdir/openssl/engines/libgost.so живет в пакете openssl-engines.
Comment 9 Sergey Y. Afonin 2013-04-02 21:47:39 MSK
Я знаю, но в зависимости пакетов bind и bind-utils этот пакет не попал почему-то у меня. В спеке их нет тоже.
Comment 10 Yury A. Romanov 2013-04-02 22:50:50 MSK
(In reply to comment #9)
> Я знаю, но в зависимости пакетов bind и bind-utils этот пакет не попал
> почему-то у меня. В спеке их нет тоже.

Раз уж я эту кашу три года назад заварил,
Как я вижу, есть несколько вариантов решить вопрос:
1) прибить гвоздями openssl-engines к openssl
2) откатить конфиг ssl.cnf и положить конфиг с поддержкой ГОСТа в /usr/share/docs 
3) устанавливать конфиг с поддержкой госта вместе с установкой openssl-engines
4) прибить гвоздями зависимость bind-utils от openssl-engines
Comment 11 Sergey Y. Afonin 2015-10-21 12:07:45 MSK
Кстати, надо ещё и скрипт написать для /etc/chroot.d, чтобы проверял наличие /var/lib/bind и копировал туда этот самый openssl/engines/libgost.so. И где он там ещё понадобится может.
Comment 12 Sergey Y. Afonin 2015-10-21 12:19:34 MSK
(In reply to comment #11)

> Кстати, надо ещё и скрипт написать для /etc/chroot.d,

О, а Bind 9.9 перестал падать без libgost.so. По крайней мере, bind-9.9.7-alt1.M70P.1 нормально перезапустился после удаления.
Comment 13 Evgeniy Korneechev 2017-11-08 14:38:17 MSK
(В ответ на комментарий №5)
> Может быть есть смысл собрать пакет openssl-engine-gost и заставить его
> включать ГОСТ в openssl.cnf по дефолту при установке?
Так как насчет этого? Или например сразу - openssl-gost?
А то без статьи - https://www.altlinux.org/ГОСТ_в_OpenSSL - и не разобраться...