engine
engine copied to clipboard
валидация CRYPT_PARAMS
баг репорт от @Rostislaved
при не очень аккуратной сборке образа докер, в конфиг доехало вот такое
CRYPT_PARAMS = id-Gost28147-89-CryptoPro-A-ParamSet RUN cd /usr/local/src

в итоге - ожидаемым образом не работало.
мысль - можно ли в случае невалидного конфига делать hard fail ? в идеале с ошибкой "валидация конфига не прошла"
Во-первых, не надо пихать в конфиг устаревшие параметры :) Во-вторых, чтобы проверить, что тут у нас фигня написана, надо явно это проверять. А так - строка и строка. В-главных, проблема в том, что в openssl нет механизма warning, чтобы, увидев здесь фигню, осуществить fallback к значению по умолчанию и дать warning.
жила-была девочка. сама виновата
мысль примерно такая - эти параметры обрабатываются в openssl или он их делегирует в engine ? если в engine, можно было бы там и фейлить
ну не без того. Вообще это значение параметров шифрования я из рекомендаций выкинул достаточно давно, и добавил ошибку - но не warning. Но народ упорно копирует из старых инструкций - это умолчание было релевантно лет 10 назад.
делегирует в engine, вот это место: https://github.com/gost-engine/engine/blob/374627ab520fca0a189d56a747abbff7e2b67bd7/gost_crypt.c#L326-L341
https://github.com/gost-engine/engine/blob/master/example.conf - вот отсюда вполне могут копировать.
а что предполагается должно произойти после ERR_add_error_data на стороне openssl ? выглядит, как будто должно упасть. баг ?
По идее неправильное значение должно попасть в лог, и дальше можно прогрепать. Ща уберу значение из example.conf, спасибо!