On 18.06.2018 23:01, Dmitry Belyavsky wrote:
В CMS (равно как и в PKCS#7) шифрование используется в двух местах: при зашифровании ключа и при зашифровании собственно данных. Параметры, используемые при шифровании собственно данных, задаются таки да, через CRYPT_PARAMS, а если он не задан, то используется умолчательный, который, сколь я помню ТЗ, коее мы на эту тему сочиняли, таки да, зависит от алгоритма открытого ключа: А для 2001, Z для 2012. Параметры, используемые при шифровании ключа, могут быть заданы в сертификате ключа, там структура параметров состоит из <=3 OIDов: параметры собственно алгоритма ключа, параметры алгоритма хэширования и параметры алгоритма шифрования. Наличие последнего OIDа не является обязательным и никто его никогда туда не пишет, но формально он может присутствовать, и если он присутствует, то именно эти параметры должны использоваться при шифровании. Сколь я помню, ты это в свое время даже реализовал, вот насколько оно было протестировано, уверенно не скажу, хотя имею смутное воспоминание, что сертификаты с OIDом параметров шифрования мы у Крипто-Про запрашивали. Но поскольку на практике такие сертификаты, как я уже писал, не встречаются, то параметры выбираются умолчательные, по идее умолчание должно быть тем же, что и для шифрования данных (А для 2001, Z для 2012), но насколько честно ты это реализовал в open-engine, сказать затрудняюсь. С уважением, Игорь Устинов зам.ген.директора ООО "Криптоком"
|