Sql Server无法看到我的证书

时间:2011-06-14 20:52:24

标签: encryption ssl-certificate sql-server-2008-r2

我需要在外部供应商和我公司之间安装加密(复制)证书。

我无法获得服务器FQDN的第三方证书,因为它的净部分与我们拥有的域不匹配(即我的FQDN是sqlservername.company.root.net但我们没有域名叫做company.root.net。)。我们拥有mycompany.com,因此我在证书上获得了sqlserver.mycompany.com,并且有一个DNS条目,将别名sqlserver.mycompany.com改为sqlservername.company.root.net。

我无法使用自生成的证书,因为供应商需要信任证书颁发机构。

我有一个已购买并安装的证书,但由于FQDN不匹配,SQL Server将无法看到它。

我尝试通过将证书的指纹直接放入注册表来安装它,但SQL服务器不会以下列错误启动:

服务器无法加载启动SSL连接所需的证书。它返回以下错误:0x8009030e。检查证书以确保它们有效。

无法加载用户指定的证书[Cert Hash(sha1)“xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx”]。服务器不接受连接。您应该验证证书是否已正确安装。请参阅联机丛书中的“配置SSL使用的证书”。

(上面的x匹配没有空格的证书的指纹)

TDSSNIClient初始化失败,错误0x80092004,状态码为0x80。原因:无法初始化SSL支持。找不到对象或属性。

我需要做些什么才能使其正常工作?

2 个答案:

答案 0 :(得分:2)

除此之外,您必须在Windows证书信任库中安装证书 你做到了吗? 错误

  

您应该验证证书   已正确安装

似乎表明你没有这样做 我期待主机名验证是可配置的,但是从这里SSL in MS-SQL2008 r2这似乎是一个绝对的要求 说实话,我不确定你使用DNS条目做的技巧是否有用 似乎有些tweeking适用于集群安装ssl for cluster installations
在您的情况下,您可能应该使用IP作为主题名称购买证书,并使用DNS解析为您说的FQDN。
但是,这当然意味着使用静态IP,而且很可能它也不可行..... [/ p>

答案 1 :(得分:1)

您需要使用MMC将证书安装在证书存储中,然后使用SQL Server配置管理器将证书链接到SQL Server服务。参见https://support.microsoft.com/en-us/help/316898/how-to-enable-ssl-encryption-for-an-instance-of-sql-server-by-using-mi

然后,请确保运行SQL Server服务的服务帐户对证书具有完全权限。在MMC中,右键单击证书,选择管理私钥,然后授予对运行您的SQL Server的服务帐户的完全访问权限。

您应重新启动SQL Server,以使更改生效。