【发布时间】:2021-08-15 18:39:03
【问题描述】:
我正在尝试将 SSL 证书安装到 Windows Server 2016 机器上的 SQL Server 2017 中。我已经对为什么证书没有出现在 SQL Server 2017 Configuration Studio 的证书下拉菜单(称为下拉菜单)中进行了大量研究。我意识到证书的 CN 必须是 FQDN,它必须与计算机名称完全匹配。它也不能是通配符证书。
我正在公司内部计算机上进行测试,因为我们需要将证书安装到云端生产机器上的 sql server 中。
我的本地服务器名称是域 company.local 的一部分,并且计算机名称 = comp101。因此,完整的计算机名称为 comp101.company.local,并具有内部 DNS comp101.company.local 和全球 DNS comp101.company.com,因此可以通过公共地址访问。
使用 MMC,我创建了 4 个具有各种 FQDN 和 CN 属性的证书,但下拉列表中没有出现。 我使用 IIS 创建了一个自签名证书并设置了绑定,它确实出现在下拉列表中。我将 Force Encryption 设置为 Yes,并且使用数据包嗅探器我可以看到与 sql server 端口的通信正在使用 TLS。
a) 如何将新证书或我的 *.company.com 通配符证书安装到本地服务器中?
b) 为 db.diff_company_on_the_cloud.com 服务器创建并安装新证书 电脑名称:WIN-XXXXXXXXX 组织:工作组
谢谢
大卫
【问题讨论】:
-
有些东西在这里没有加起来:
.local域在几年前就被弃用了。服务器框不是域的一部分,因为它位于WORKGROUP,所以我不确定通过制作自签名证书可以获得什么(除非你想打开“信任服务器证书” ”)。您可以使用通配符证书,但它必须是*.diff_company_on_the_cloud.com,或者您可以使用db.diff_company_on_the_cloud.com。您可以使用 Let's Encrypt 或其他提供商购买证书,也可以在本地 PC 上针对内部 CA 创建 PFX 证书并将其导出到服务器 -
自签名证书只是为了检查是否会显示在本地框的下拉列表中,因为 MMC 创建的 4 个证书未显示在下拉列表中。我还没有尝试为服务器创建证书,因为我需要添加证书的证书尚未创建。我不明白当计算机未被调用且位于工作组中时,我如何将通配符证书用于 *.diff_company_on_the_cloud.com 或 db.....com。我读过的所有内容都说计算机名称和域需要与证书完全匹配;ly。你能指出一些解释如何做到这一点的文件吗?
-
这篇文章让我相信服务器必须有一个 FQDN。我的服务器位于托管服务器上,而不是域的一部分。 stackoverflow.com/questions/36817627/…
-
cert需要与连接字符串中使用的名称匹配,PC的实际机器名称没有直接关系(除非相同)。这需要在“DNS 名称”或“主题备用名称”中。如果它没有显示在 MMC 中,那么要么您的机器上没有私钥,要么“密钥使用”没有“服务器身份验证”。或者您也可以将证书指纹设置为
HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<YourInstance>\MSSQLServer\SuperSocketNetLib\Certificate,另请参阅mssqltips.com/sqlservertip/3299/… -
AFAIK 对 CN 名称的限制仅在管理控制台中,不在注册表中。这得到了您链接的帖子的支持
标签: sql-server ssl certificate cloud