问题:
我们有一个在 Windows Server 2016 服务器(服务器核心)上的 IIS 上运行的网站。
IIS 中为网站启用了客户端证书身份验证。当检查该站点的 TLS 连接流量时(使用wireshark),我们会看到一条“客户端请求(13)”消息,该消息将“受信任的颁发者”列表传递给浏览器。该列表当前包含“受信任的根证书颁发机构”存储中的所有证书(具有与客户端身份验证兼容的“预期用途”证书)。
我们希望列表仅包含我们选择的单个根证书(这恰好是Origo 根证书,但我不认为这与问题相关)。
为了实现这一目标,我们将 Origo 根证书放置在“客户端身份验证颁发者”存储中,如本文所述:
该证书也存在于“受信任的根证书颁发机构”存储中,因此它在本地计算机上是受信任的。
笔记。我们还设置了此注册表项(如上面的文章中所述)以允许将“受信任的发行者列表”发送到浏览器:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel\SendTrustedIssuers = 1 (DWORD)
Run Code Online (Sandbox Code Playgroud)
服务器继续发送来自“受信任的根证书颁发机构”存储的证书的完整列表。服务器已重新启动。
我已确认 origo 证书报告为服务器“信任”。Windows CAPI2 事件日志中没有与此证书相关的错误,如下所示:
Application and Services Logs\Microsoft\Windows\CAPI2
Run Code Online (Sandbox Code Playgroud)
systeminfo.exe 报告的 Windows 版本信息
OS Name: Microsoft Windows Server 2016 Standard
OS Version: 10.0.14393 N/A Build 14393
Run Code Online (Sandbox Code Playgroud)
(已安装所有可用的 Windows 更新)