IE7 停止发送客户端 SSL 证书

IE7 停止发送客户端 SSL 证书

我们使用客户端 SSL 证书来保护基于 Web 的用户与我们的 Web 服务器(SharePoint 站点的编辑站点)之间的通信。证书在内部生成并发送给用户进行安装。

通常我们不会遇到任何问题,但最近一些用户无法访问网站,而其他用户却可以在同一时间段内甚至使用相同的证书成功进行身份验证。

网络数据包捕获表明 IE 并不总是发送证书。此时,卸载并重新安装证书可以解决问题——但这并不是理想的做法。

答案1

您是否真的使用 SSL 证书验证客户端身份,而不是仅使用服务器端证书和 SSL 来加密通信?如果是这样,那不是一个特别常见的情况(尽管您可能有非常充分的理由这样做)。如果您没有使用证书对客户端进行身份验证的业务需求,您仍然可以加密通信,同时关闭基于客户端证书的身份验证,这将解决您的问题 :)

根据IIS 身份验证MSDN 上的文档:

IIS 还可以使用 SSL/TLS 来验证客户端身份,方法是要求客户端提供证书。在请求客户端证书时,服务器会向客户端提供服务器信任的 CA 列表。此列表来自服务器的证书信任列表 (CTL)。如果客户端拥有由 CTL 中的 CA 颁发的证书,它会将该证书的副本发送到服务器进行验证。如果证书有效,IIS 会验证映射到所提供证书的用户身份。因此,您应该将 IIS 上的 CTL 限制为您认为真正值得信赖的 CA。

是否有可能您有多个 CA 生成客户端证书,但由于某种原因,其中一个不在服务器的证书信任列表 (CTL) 上?

答案2

客户端的个人存储中是否有多个适用的证书?如果有多个证书,IE 可能无法选择正确的证书,因此不会发送任何内容。服务器在查看网络嗅探时是否需要客户端身份验证?

出现问题时,您可以使用 certutil.exe 列出客户端证书吗?您可以使用 certutil -v -user -store "my" 并检查权限/加密测试是否通过/其他可能出现的问题。如果有问题,您可以尝试找出其根本原因。

相关内容