В письме от 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.