Использование собственного поставщика CNG из Crypt Message Functions - PullRequest
0 голосов
/ 17 октября 2018

Я пытаюсь разрешить подписи, когда сообщения хэшируются с помощью SHA-3, семейство алгоритмов Windows пока не поддерживает.

Я успешно создал свой собственный поставщик CNG, который содержит реализацию SHA-3 (на данный момент this ), я зарегистрировал его, и он работает, когда я звоню из другогоapplication, BCryptOpenAlgorithmProvider().

Однако функции, которые предположительно все еще используют Crypto API, не могут найти моего провайдера.Я пытаюсь использовать функции сообщений низкого уровня (CryptMsgOpenToEncode и т. Д.), Но они, вероятно, пытаются использовать хэш провайдера CryptAPI, который, конечно, не найден для SHA-3.

Какие у меня варианты?Должен ли я реализовать свою библиотеку в качестве поставщика Crypto API?

Есть ли способ сообщить CryptMsgUpdate, что сообщение уже хэшировано, поэтому я могу хэшировать его с помощью CNG?Как, например, CryptRetrieveTimeStamp, у которого есть возможность передавать уже хешированные данные.

Спасибо.

...