将 SSRS 服务迁移到 TLS 1.2 时,剩下 0 个客户端证书可供选择

将 SSRS 服务迁移到 TLS 1.2 时,剩下 0 个客户端证书可供选择

环境

Reporting Services 在 Windows 2008 服务器上的 SQL Server 2008 R2 SP3 安装上运行,其中安装了 .Net 4.6.1 并启用了 .Net 3.5 功能。IIS、数据库和报告服务都在本地计算机上(自定义登录 URL 在不同的计算机上,但似乎这无关)。

已完成的更改

由于安全原因,我们被迫转向 TLS 1.2,因此我们使用 IISCrypto 启用了 TLS 1.2

结果

从此刻起,只有在尝试访问报告管理站点时我们才会收到错误:

底层连接已关闭:接收时发生意外错误

在 SSRS 日志中我们可以看到以下异常:

系统.Net.Web异常:底层连接已关闭:接收时发生意外错误。---> 系统.组件模型.Win32异常:客户端和服务器无法通信,因为它们没有通用算法

在 .Net Framework 上启用跟踪我发现以下消息:

 System.Net Information: 0 : [4996] SecureChannel#40644060::.ctor(hostname=localurl,#clientCertificates=0)
 System.Net Information: 0 : [4996] Enumerating security packages:
 System.Net Information: 0 : [4996]     Negotiate
 System.Net Information: 0 : [4996]     Kerberos
 System.Net Information: 0 : [4996]     NTLM
 System.Net Information: 0 : [4996]     Schannel
 System.Net Information: 0 : [4996]     Microsoft Unified Security Protocol Provider
 System.Net Information: 0 : [4996]     WDigest
 System.Net Information: 0 : [4996]     DPA
 System.Net Information: 0 : [4996]     Digest
 System.Net Information: 0 : [4996]     MSN
 System.Net Information: 0 : [4996]     PWDSSP
 System.Net Information: 0 : [4996] SecureChannel#40644060 - Left with 0 client certificates to choose from.

已经检查过的事情

正在使用的证书仍然有效,并且其签名链被放置在适当的“中间”和“根”存储中。

以管理员身份运行应用程序池没有帮助。

使用从 IIS 生成的自定义签名证书没有帮助。

重要的该问题仅发生在 Reporting Services 管理站点上,报告运行正常

下一步

还有什么想法可以尝试吗?有没有办法知道为什么没有选择安全包?

相关内容