SqlServer 2008 实例安装在 Windows Server 2008 上,并以以下身份运行:NT AUTHORITY\NETWORK SERVICE
来自第三方 CA 的 SSL 证书已安装在本地计算机\个人证书存储中。
服务器的 FQDN 在证书的颁发对象、主题的 CN 和认证路径属性中正确显示。
密钥用途 = 数字签名、密钥加密、密钥协议 (a8)
增强密钥使用”=“服务器身份验证(1.3.6.1.5.5.7.3.1)
我已经使用 FindPrivateKey.exe 根据证书的指纹在文件系统中定位证书。
使用 cacls.exe,我已为 NETWORK SERVICE 帐户的该证书分配了读取和执行以及读取权限。
在我的 SqlServer2008 错误日志中,我看到以下日志条目与从 FindPrivateKey.exe 派生的哈希值匹配:
证书 [Cert Hash(sha1) "F8A3B32F024198A981A785C44575E810D5425DD1"] 已成功加载进行加密。
(我认为这应该意味着证书已正确安装并可供 SqlServer 使用。)
在 Sql Server 配置管理器\SQL Server 网络配置\MSSQLSERVER 的协议\属性中,我已将“强制加密”设置为是。
(但“证书”选项卡中没有显示任何证书。我读过的一些文档似乎表明您不需要从该选项卡中选择证书。我认为证书没有出现在那里很奇怪)
在客户端,如果我通过 MS Sql Management Studio 连接时选择“加密连接”,则可以连接。但问题是即使没有选择“加密连接”,我也可以连接。
我可能遗漏了什么线索吗?
非常感谢...
答案1
我弄清楚了为什么 SSL 证书没有显示在 SQL Server 配置管理器选项中的证书下。我没有设置主 DNS 后缀,因此 DNS 无法完全解析服务器的 FQDN 以匹配证书中设置的属性。