C++ 在c+中使用智能卡进行相互身份验证+;

C++ 在c+中使用智能卡进行相互身份验证+;,c++,openssl,smartcard,pkcs#11,mutual-authentication,C++,Openssl,Smartcard,Pkcs#11,Mutual Authentication,我创建这个标题是为了帮助那些需要它的人,而不是问题。我在这方面花了很多时间,但在堆栈溢出上没有答案,所以我想与您分享一个答案 SSL相互认证是如何工作的? 客户可以向其网站添加安全套接字层(SSL)证书以保护其信息的安全。 连接到安全服务器的浏览器将使用SSL协议连接和验证服务器的证书。 但是,客户也可以使用相互身份验证,让客户机和服务器都使用签名证书进行相互身份验证。 通过相互身份验证,客户端和服务器都将提供签名证书进行验证 这些代码显示如何从智能卡获取证书和密钥。 此代码博客用于从智能卡获取

我创建这个标题是为了帮助那些需要它的人,而不是问题。我在这方面花了很多时间,但在堆栈溢出上没有答案,所以我想与您分享一个答案

SSL相互认证是如何工作的? 客户可以向其网站添加安全套接字层(SSL)证书以保护其信息的安全。 连接到安全服务器的浏览器将使用SSL协议连接和验证服务器的证书。 但是,客户也可以使用相互身份验证,让客户机和服务器都使用签名证书进行相互身份验证。 通过相互身份验证,客户端和服务器都将提供签名证书进行验证

这些代码显示如何从智能卡获取证书和密钥。 此代码博客用于从智能卡获取信息(公钥和证书)。 默认密码为“00000000” SmartCardProject.cpp中使用了两个第三方DLL。“pkcs11engine.dll”和“pkcs11MiddlewareLibrary.dll”。 “pkcs11引擎”的pkcs11engine.dll。 用于驱动程序和“pkcs11引擎”的pkcs11MiddlewareLibrary.dll。 -pkcs11engine.dll将自动安装在安装程序的目录中。嵌入式pkcs11.dll和外部pkcs11.dll用于从智能卡获取信息。 -证书 -公开密钥信息 -pkcs11MiddlewareLibrary.dll可能在插入智能卡时自动出现,也可能由发卡机构分发。此dll用于连接到智能卡。 -序列号 -令牌信息 -功能列表等。。 cert_info.certificate变量用于智能卡证书 privateKey是关键信息

有关代码和更多信息,请查看此页面: