Я реализую CNG поддержка подписи сертификатов для моего продукта. Этот продукт не нов и имеет большой и сложный IS.
По какой-то причине в СНТ реализация для фактического хеширования была закодирована, и значение хеш-функции было установлено для (ранее созданного) хеш-объекта с использованием CryptSetHashParam с HP_HASHVAL флаг.
Согласно Microsoft: «Массив байтов, который содержит хеш-значение для размещения непосредственно в хеш-объект».
Значение хеша («pbData«) вычисляется в коде очень далеко (правильно или неправильно сейчас не имеет значения) и передается в функцию подписи.
Теперь при использовании CNG, Я не могу найти способ присвоить хеш-значение новому хеш-объекту, созданному с помощью BCryptCreateHash. Я не могу найти ничего похожего на CryptSetHashParam с флагом HP_HASHVAL.
Я знаю, что я могу использовать BCryptHashData но это делает все намного сложнее из-за нынешнего IS.
У меня есть хеш-значение. Есть ли способ создать хеш-объект CNG и установить хеш-значение структуры с моим хеш-значением?
Надеюсь, я прояснил свой вопрос.
Спасибо!
Задача ещё не решена.
Других решений пока нет …