微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么WinHttp不通过链发送客户端证书?

如何解决为什么WinHttp不通过链发送客户端证书?

我正在处理一个客户端服务器应用程序,其中服务器是Web服务,该服务基于SSL客户端证书执行客户端身份验证。客户端证书由Root-CA-> Intermedia-CA-1-> Intermedia-CA-2颁发。我将证书导入到用户证书存储和证书机器存储。

使用WinHttpSetoption(请求,WINHTTP_OPTION_CLIENT_CERT_CONTEXT,(LPVOID)pCertCtx,sizeof(* pCertCtx))设置客户端证书。

用户存储中搜索pCertCtx时,WinHttp会同时发送客户端证书和中间CA。

但是,从本地计算机存储区或内存中的证书存储区搜索pCertCtx时,WinHttp仅发送客户端证书,而不发送中间CA。

为什么WinHttp在这些方面有不同的行为?是否有任何强制WinHttp始终发送证书和链的选项?

解决方法

通过将中间介质ca添加到计算机存储中来解决。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。