今天,我更改了3,000+ Outlook客户端使用的SSL证书。在进行此操作时,我将证书更改为具有相同主题名称、过期和其他所有内容的“旧”证书。只有拇指指纹和一个SAN的名字变了。一旦有报道说出了一个问题,我就收回了这一变化。(1小时)
看起来,在这样做的过程中,Outlook挂起了几个已部署的实例,尽管我已经用了15年的支持能力使用Outlook,但我无法挽救这个概要文件,不得不重新创建它。(对于其余的20+配置文件,我不想重复这个过程)
我只能假设SSL缓存存在于Windows、Outlook或它的IE依赖项中。
这使我想到我的问题:
以下是IE中SSL编辑器的图片(请参阅“清除SSL状态”)
更新:
即使证书已正确形成,但取消选中Outlook配置中的下列文本框似乎会更正此问题
发布于 2013-08-07 03:21:42
通常,SSL管理是每个进程。例如,SSL实现DLL将记住SSL会话,并能够协商缩短的握手(即客户端重新连接到服务器,并同意重用他们在以前的连接中建立的对称共享机密)。Internet现在有生成多个进程的习惯,但包含了一些在这些过程中共享SSL会话信息的技巧。不过,当所有IE进程关闭时,所有这些都会消失。
缓存中剩下的是CRL。当Windows想要验证证书(例如服务器证书)时,它将尝试获取从证书本身中找到的URL下载的吊销信息,例如CRL或OCSP响应。Windows将缓存CRL,这是磁盘上的缓存,因为它抵抗重新启动。Windows还将缓存“负”CRL,即无法从给定的URL获得CRL。如果Windows无法从特定的URL获得CRL,它可能会在长达8小时的时间内避免再次尝试相同的URL --甚至重新启动也不足以解锁它。这常常是令人讨厌的。
与CRL缓存类似,Windows还可以使用证书( Authority Information Access
扩展)中的URL下载中间CA证书。这些CA证书也可以缓存,尽管它们不一定出现在证书存储区(从certmgr.msc
中可见)。
有关Windows缓存的一些信息,请参见这篇博客文章。
在Active上下文中使用基于证书的客户端身份验证时,情况会变得更加复杂,因为:
在不同的机器上执行的所有三种验证都有微妙的不同规则,以及证书到AD帐户的映射在许多方面都可能失败。
发布于 2013-08-07 03:23:14
“清除State”按钮在那里吗用于清除用于对基于SSL的服务进行身份验证的选定客户端证书的SSL缓存。它只是为了使客户端证书更快地工作(部分是通过记住您曾经对某个站点进行身份验证的证书)。它不缓存以前见过的SSL证书。
Outlook+Exchange可以使用客户端证书进行身份验证,但这不是一个常见的配置;大多数站点都使用NTLM或Kerberos进行SSL验证。
Outlook+IMAP不能使用客户端证书,但我很可能错了;我还没有听说过使用它们的实例。
相反,您可能会遇到Windows SSL Validator的问题。
https://security.stackexchange.com/questions/40179
复制