我正在为现有的Windows / Win CE应用程序将TLS版本从1.0升级到1.2。现在,我的应用程序正在使用Openssl 0.9.8k(支持TLS 1.0)。要升级TLS版本,我正在使用Openssl-1.0.2p(支持TLS 1.2)。我正在使用MD5-SHA1签署数据,类似于MD5-SHA1 hash using CryptoAPI中遵循的步骤(我的要求与此相同)
但是TLS 1.2必须使用RSA-SHA256对哈希进行签名。如何使用加密API来实现?
我尝试使用证书密钥句柄提供程序创建哈希,并使用CALG_SHA_256算法而不是CALG_SSL3_SHAMD5。但是证书验证在服务器上失败,并显示错误消息“ Bad Signature”。
我一直在浏览MSDN页面,并且我假设CNG API可以完成Windows 7 OS的工作。如果是这样,我该如何实现?另外,我在Windows CE中没有看到CNG等效的API,如何在Windows CE中实现?
谢谢。