SqlServer 2008实例安装在Windows Server 2008上,并以此身份运行:NT AUTHORITY \ NETWORK SERVICE
来自第三方CA的SSL证书已安装在本地计算机\个人证书存储区中。
服务器的FQDN正确显示在颁发给Subject的CN和authenticationpath属性中。
密钥使用=数字签名,密钥encryption,密钥协议(a8)
增强密钥用法“=”服务器authentication(1.3.6.1.5.5.7.3.1)
我已经使用FindPrivateKey.exe来根据证书的指纹find文件系统中的证书。
使用cacls.exe我已经为NETWORK SERVICE帐户分配了读取和执行以及读取权限。
在我的SqlServer2008错误日志中,我看到下面的日志条目匹配从FindPrivateKey.exe派生的哈希:
证书[Cert Hash(sha1)“F8A3B32F024198A981A785C44575E810D5425DD1”]已成功加载encryption。
(我认为这应该意味着证书安装正确,并准备好SqlServer的使用。)
在SQL Serverconfigurationpipe理器\ SQL Servernetworkingconfiguration\协议MSSQLSERVER \属性我已经设置“强制encryption”为是。
(但没有证书出现在“证书”选项卡中,我读过的一些文档似乎表明你不需要从该选项卡中select一个证书,我认为证书没有出现在那里是很奇怪的)
在客户端,如果我通过MS Sql Management Studio连接时select“encryption连接”,我可以连接。 但问题是我也可以连接,即使“encryption连接”没有被选中。
任何线索我可能会在这里错过?
非常感谢…
我想出了为什么SSL证书没有显示在Sql Serverconfigurationpipe理器选项中的证书下。 我没有设置主DNS后缀,所以DNS没有完全parsing服务器的FQDN以匹配证书中设置的属性。