gpt4 book ai didi

ssl - 如何在 WinHttp 中设置客户端证书链

转载 作者:太空宇宙 更新时间:2023-11-03 13:44:05 27 4
gpt4 key购买 nike

我正在开发一个客户端-服务器应用程序,其中服务器是一个基于 SSL 证书执行客户端验证的 Web 服务器。服务器信任根 CA 证书。 Client 是一个用 C++ 开发的 Windows 应用程序,它有一个由中间 CA 签名的证书,而中间 CA 又由 Root CA 签名。我可以通过使用 WINHTTP_OPTION_CLIENT_CERT_CONTEXT 作为选项调用 WinHttpSetOption api 在 https 连接期间设置客户端证书。但是,这只会设置客户端证书,而不是整个链。服务器在其存储中没有中间 CA,因此它无法验证客户端。

有没有办法在 WinHttp 中设置完整的客户端证书链,前提是完整的链已经存在于客户端的证书存储中?

最佳答案

服务器必须事先拥有 CA 证书,它不会信任客户端交给它的根 CA。 (我不确定它(服务器端)是否会信任由受信任的 CA 签名的中间 CA,但我的倾向是不。

信任客户端发送的一些随机 CA 会破坏整个证书验证点,您将不知道客户端提交的数据是否真正有意义。因此,将根和中间 CA 证书添加到服务器的证书存储区。 (如果您无权访问它,则必须与管理员交谈并让他们这样做)。

关于ssl - 如何在 WinHttp 中设置客户端证书链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47657966/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com