当消息使用SHA-3进行哈希处理时,我正在尝试允许签名,而Windows-3还不支持该算法系列。
我已经成功构建了自己的CNG提供程序,其中包含SHA-3(目前为this的实现),我已经注册了它,并且当我从另一个应用程序{{1 }}。
但是,据称仍在使用Crypto API的函数找不到我的提供程序。我正在尝试使用低级消息函数(BCryptOpenAlgorithmProvider()
等),但是这些函数可能会尝试使用CryptAPI提供程序哈希,当然SHA-3找不到该哈希。
我有什么选择?我是否也必须将我的库实现为Crypto API提供程序?
是否可以告诉CryptMsgOpenToEncode
该消息已经被散列了,所以我可以使用CNG对其进行散列?例如,CryptMsgUpdate
可以传递已散列的数据。
谢谢。