Не, кошки как раз сейчас странных скачек не учиняют. А вот Нина включает странную музыку.
Зато я за сегодня допилил хвосты в open-engine чтобы он принимал параметры имитовставки и длину как macopt и пересобрал mesa на подарочном ноутбуке. И оно даже работает. Можно было не проявлять радикализм и ставить testing вместо jessie, но это был запасной вариант.
Вот я не понял, чем тебя не устраивала передача длины как -sigopt? Ведь у всех нормальных людей кроме авторов утилиты openssl будет использоваться один и тот же EVP_PKEY_CTX и при Init, и при Final.
На уровне C-шного API было вполне можно. Я уж тебе это и по-русски писал, и по английски. Посмотри как это у меня в модуле ctypescrypto.mac сделано. Работало прекрасно.
Надо только, блин не делать вид, что MAC это дайджест, а честно работать с ним через EVP_PKEY_CTX.
А сейчас ты по-моему сделал overengineering.
И для того, чтобы понять, что ты сделал фигню, тебе надо перестать мыслить с терминах ключей команды dgst и начать мыслить в терминах того самого С-шного API. Тогда ты, кстати, сразу поймешь какую фигню сделали авторы команды dgst.
Да, естественно, через EVP_PKEY_CTX. Но сейчас ты можешь создать этот EVP_PKEY_CTX единожды, установить туда узлы замены mac, ключ и длину выхода и позвать keygen. А в твоём варианте это не работало.
Делается сначала EVP_PKEY_new_mac_key, Он внутри позовет kegen, и это будет ПЕРВОЙ ОПЕРАЦИЕЙ. потом EVP_MD_CTX_create Потом EVP_DigestSignInit (который получает этот EVP_PKEY и EVP_MD_CTX и возвращает в одном из параметров указатель на EVP_PKEY_CTX)
и уже потом вызываются ctrl-команды на этот самый EVP_PKEY_CTX
Потом уже можно делать EVP_DigestUpdate или EVP_DigestSignUpdate (пофиг на самом деле что именно)
и EVP_DigestSignFinal.
Для вычисления дайджестов следует пользоваться именно этим API, и, по-моему это даже было описано в криптокомовском руководстве программиста. Ну а команда dgst делает не так, и поэтому получается криво.
no subject
no subject
no subject
no subject
Зато я за сегодня допилил хвосты в open-engine чтобы он принимал параметры имитовставки и длину как macopt и пересобрал mesa на подарочном ноутбуке. И оно даже работает. Можно было не проявлять радикализм и ставить testing вместо jessie, но это был запасной вариант.
no subject
no subject
Теперь её можно передавать и там, и там. -sigopt передаётся позже и переопределяет значение.
no subject
Посмотри как это у меня в модуле ctypescrypto.mac сделано. Работало прекрасно.
Надо только, блин не делать вид, что MAC это дайджест, а честно работать с ним через EVP_PKEY_CTX.
А сейчас ты по-моему сделал overengineering.
И для того, чтобы понять, что ты сделал фигню, тебе надо перестать мыслить с терминах ключей команды dgst и начать мыслить в терминах того самого С-шного API. Тогда ты, кстати, сразу поймешь какую фигню сделали авторы команды dgst.
no subject
no subject
Делается сначала EVP_PKEY_new_mac_key, Он внутри позовет kegen, и это будет ПЕРВОЙ ОПЕРАЦИЕЙ.
потом EVP_MD_CTX_create
Потом EVP_DigestSignInit (который получает этот EVP_PKEY и EVP_MD_CTX и возвращает в одном из параметров указатель на EVP_PKEY_CTX)
и уже потом вызываются ctrl-команды на этот самый EVP_PKEY_CTX
Потом уже можно делать EVP_DigestUpdate или EVP_DigestSignUpdate (пофиг на самом деле что именно)
и EVP_DigestSignFinal.
Для вычисления дайджестов следует пользоваться именно этим API, и, по-моему это даже было описано в криптокомовском руководстве программиста. Ну а команда dgst делает не так, и поэтому получается криво.
no subject