On Fri, 15 Jun 2018 21:31:14 +0300 Nikolay Shaplov <dhyan@nataraj.su> wrote: > В письме от 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 должно хватить всем, но совершенно не понятно чего Разновидностей API, которые по историческим причинам есть в OpenSSL для подключения алгоритмов. Там на самом деле есть битовая маска и константы, соответствующие битикам. Для RSA и DSA отдельные API остались с тех времен, когда универсального PKEY не было. Хотя может они не там, а в PKCS#10 остались и для корректной работы pkcs10 engine, через которую сейчас работают большинство аппаратных токенов, их нужно иметь отдельно. Отдельные классы для PKEY и PKEY_ASN1 Хэнсон сделал по вполне очевидной причине - легко себе представить engine, например аппаратный криптографический токен, который внутри себя реализует собственно алгоритм с открытым ключом, но поддержкой форматов хранения не заморачивается. Выдает наружу голые байтики подписи и открытого ключа. Ну то есть реальная нужда в этом параметре у нас возникнет тогда, когда мы захотим загрузить одновременно две engine для поддержки ГОСТ-овских алгоритмов - одну для токена, хранящего закрытые ключи, другую для реализации на CPU всего, что токен не поддерживает. И да, если ты это документируешь по-английски и пропихнешь в openssl, то пользователи всего мира тебе будут благодарны. Хотя у меня (по моему собственному опыту документирования недокументированных API в OpenSSL есть большие сомнения, что пропихнется). В общем, OpenSSL внутренне нелогична, и крайне хреново документирована. Но gost engine в этом как-то не очень виновата. р--
Attachment:
pgpK_0gN2c1oF.pgp
Description: OpenPGP digital signature