[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [openssl-gost] Re: [openssl-gost] Параметры конфига



В письме от 14 июня 2018 17:57:03 пользователь Dmitry Belyavsky написал:

> >
> > Скажи пожалуйста, какие еще значения может принимать параметр
> > default_algorithms, помимо ALL? Это список идентификаторов через запятую
> > или
> > как? Где-то помимо исходников этот список представлен?
>   *) default_algorithms option in ENGINE config module. This allows things
>      like:
>      default_algorithms = ALL
>      default_algorithms = RSA, DSA, RAND, CIPHERS, DIGESTS
> 
> Для gost-engine это всегда ALL. Нам нужны, как правило, и шифры, и хеш, и
> подпись. Ну или ничего не нужно.

Нашел место которое ты цитируешь, но понимания это не добавило...

CIPHERS, DIGESTS -- это как я понимаю классы алгоритмов.

RSA, DSA -- конкретные алгоритмы...

RAND -- наверное тоже какой-то класс чего-то...


Понятно что ALL должно хватить всем, но совершенно не понятно чего именно эта 
опция должна настраивать... Писать в документации, "а вот это такая магия, 
просто пишите = ALL" как-то совсем не хорошо...


Дополнительный гуглежь принес во-первых криптопрошную инструкцию 
https://support.cryptopro.ru/index.php?/Knowledgebase/Article/View/189/0/openssl-enginetls-gost-v-apache-n-linuxunix

В которой рекомендуется 

default_algorithms = CIPHERS, DIGESTS, PKEY, PKEY_CRYPTO, PKEY_ASN1

Я проверял на генерации ключей GOST2012, с этими настройками оно работает. 
Мало того, методом научного тыка сократил до 

default_algorithms =  PKEY

И генерация ключей продолжила работать... (Наверное так и надо) Но понимания 
того что это за слова такие, мне не принесло...

Далее нашелся man от непонятно чего (что за openssltool?)

https://www.mirbsd.org/htman/i386/man1/openssltool.htm

В котором говориться:

     The command default_algorithms sets the default algorithms
     an ENGINE will supply using the functions
     ENGINE_set_default_string()

Что ясности не вносит... Но читая эти строки я бы ожидал, что именно в этом 
месте я например мог бы оторвать GOST2012 на уровне конфигурации OpenSSL'я 
сказав что можно только GOST94

По ветке ENGINE_set_default_string там совсем про какие-то потроха OpenSSL'я 
мне не понятные...

Короче нет понимания... Очень жаль что нет документации OpenSSL'я на этот 
счет... Но это не повод не иметь ее самим :-)

> > Схожий вопрос про CRYPT_PARAMS... Насколько я понимаю id-Gost28147-89-
> > CryptoPro-A-ParamSet -- это идентификатор из RFC 4357 8.1

> > Все перечисленные в RFC идентификаторы можно туда подставлять, или только
> > некоторые?
> Все из этого раздела. Но вообще брать надо не их, а более позднее значение
> id-tc26-gost-28147-param-Z.

Так, я правильно понимаю, что этот идентификатор ParamSet'ов фактически 
определен в RFC 7836 в приложении С. Или есть какое-то более фундаментальное 
доступное иностранцам место где оно определяется?

И видимо во всех примерах конфига следует указывать именно его?

Каков статус CryptoPro-A-ParamSet и его друзей из 4357? Они объявлены 
depricated? Есть ли смысл их упоминать в комментариях к примеру конфига, или 
только в тексте описывающем конфигурацию?


> > И к стати, это обязательный параметр? Какой param-set будет использовал
> > по-умолчанию, если никакого не указывать?

> Кажется, необязательный. По идее брать будем id-tc26-gost-28147-param-Z с
> точностью до моих ошибок.

Я могу без доп. проверок написать в доке, что это значение по умолчанию?


-- 
Do code for fun.

Attachment: signature.asc
Description: This is a digitally signed message part.