使用CAPI和OpenSSL进行相互SSL身份验证

时间:2014-01-24 20:25:06

标签: openssl smartcard private-key cryptoapi mutual-authentication

我需要使用OpenSSL(通过libcurl)从我的客户端应用程序(C ++)进行相互SSL身份验证。我正在通过MS Crypto API(CAPI)和ActivClient驱动程序从智能卡读取证书,并使用CAPI进行证书链验证(这似乎更容易验证使用OpenSSL的证书链,因为证书链在MS证书库中) 。我可以将客户端证书从CAPI转换为OpenSSL,但我遇到了私钥问题。

似乎服务器验证我的客户端证书,我需要将客户端证书私钥暴露给OpenSSL。目前尚不清楚我应该怎么做,或者即使我能做到这一点(这可能取决于密钥是否在证书中标记为“可导出”)。我可以尝试按照Converting private key in windows store to PEM (for OpenSSL)中的建议,并希望密钥可以导出,但我想知道我是否正在走正确的道路。

我在这个主题上搜索了很多,但没有找到任何确凿的信息。

任何建议和/或建议都表示赞赏!!

0 个答案:

没有答案