【问题标题】:Sql Server can't see my certificateSql Server 看不到我的证书
【发布时间】:2011-06-14 20:52:24
【问题描述】:

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

我无法为我的服务器的 FQDN 获得第三方证书,因为其中的 net 部分与我们拥有的域不匹配(即我的 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 server 将无法启动并出现以下错误:

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

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

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

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

我需要做些什么不同的事情才能让它发挥作用?

【问题讨论】:

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


    【解决方案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 以使更改生效。

    【讨论】:

      【解决方案2】:

      首先,您必须在 Windows 证书信任库中安装证书。
      你这样做了吗?
      错误

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

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

      【讨论】:

        猜你喜欢
        • 2018-08-14
        • 2021-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多