可视化我们如何在C++和Windows API中验证openssl数字签名
visual How we can verify openssl digital signature in C++ & windows API
使用openssl我在服务器上创建了签名文档,请参考下面的命令。
------创建私钥
openssl pkcs12 -in "D:Cummins IssuesXML Encryptionmycredentialsandkey2010.pfx" -nodes -nocerts -out "D:privatekey.pem" -nodes
------创建公钥
openssl rsa -in "D:privatekey.pem" -pubout -out "D:rsapublickey.pem"
------创建签名文档。
openssl dgst -sha1 -sign "D:privatekey.pem" -out "D:ProductInformation_xml.cipher" "D:ProductInformation.xml"
现在我可以使用opensll验证数字签名,如下所示
——验证
openssl dgst -sha1 -verify "D:rsapublickey.pem" -signature "D:ProductInformation_xml.cipher" "D:ProductInformation.xml"
但是我需要使用c++验证数字签名&客户端应用程序中的Windows API(没有openssl库或源代码)。我知道使用公钥&哈希我们可以验证数字签名。请尽快提供伪代码或windows API给我。
为什么不能使用libssl?这是一条显而易见的路线。算法本身是RSA和SHA1,尽管你真的不应该尝试自己的算法。
google搜索"microsoft ssl library",得到的只是大量的漏洞。不,真的!
来自Microsoft的CryptoAPI将允许您签名和验证数据。
你应该注意到微软已经从Windows vista开始引入了CNG。所以评估一下你的需求。
您可以使用CryptoAPI从MSDN找到签名和验证的示例源代码
相关文章:
- 正在尝试了解输入验证循环
- 用于访问容器<T>数据成员的正确 API
- 如何使用Luacneneneba API正确读取字符串和表参数
- C++MySQL C api用户输入行
- 如何在C++中检查2D数组中负值的输入验证
- 如何使用 AWS Transcribe C++ API 中的'StartTranscriptionJobRequest'?
- 将std::string传递给WriteConsole API
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- QT REST客户端为Microsoft认知服务翻译器API获得身份验证令牌
- 当我的数据库身份验证需要密码时,如何使PQXX(Postgres的C API)工作
- C++ LogonUser() API 在对具有错误域的帐户进行身份验证时速度很慢
- PKCS#7使用Windows Crypto API和C 加密的解密和验证
- 向twitter API发出经过验证的GET请求
- 可以创建一个单例 c++ 来进行身份验证并使用对 Facebook API 的 HTTP 请求在墙上发布
- 在Windows上使用OpenSSL访问带有身份验证的REST API
- 验证由Windows Crypto API创建的Java签名
- 是否有一个Windows c++ API来验证Windows用户名/域名是本地机器上的有效帐户(没有密码)
- 可视化我们如何在C++和Windows API中验证openssl数字签名
- xmpp向face book聊天api进行身份验证,并且总是收到失败消息
- 在C++中使用libCurl API的身份验证SAIO(swift all in one)