Joz*_*zso 5 sql-server sql-server-2008-r2 configuration connectivity
我有一个必须使用各种 DNS 名称(SQL1、sql1.contoso.local、sql1.contoso.com 等)访问的 SQL Server。
我正在努力创建可用于保护所有这些名称的正确 SSL 证书。使用 Windows 集成安全性的应用程序使用它的本地地址连接到服务器,因为在 Internet 上只启用了 SQL 登录。
我创建了包含 sql1.contoso.com 的主题 (CN) 和几个 SAN 条目的 SSL 证书:DNS=SQL1、DNS=sql1.contoso.local 等。
使用此证书,我只能在使用服务器 sql1.contoso.com 时使用加密连接进行连接。使用其他名称将导致 SQL Server Management Studio 中出现此错误消息:
已成功与服务器建立连接,但在登录前握手期间发生错误。(提供者:SSL 提供者,错误:0 - 证书的 CN 名称与传递的值不匹配。)(Microsoft SQL Server,错误:-2146762481)
我正在从信任颁发在 SQL Server 上使用的 SSL 证书的 CA 的计算机连接到服务器,并且所有防火墙都已正确打开以允许使用 1433 端口进行连接。客户端也信任 CA。证书是使用 Web 服务器模板生成的。
是否可以通过 SQL Server 进行配置,以便我可以使用加密连接使用服务器的多个域名连接到它?
我只能将一个证书分配给一个 SQL Server 实例,因此我必须为每个可访问的服务器名称使用一个证书。如果我可以为本地连接分配不同的证书,我可以使用由受信任的 CA 签名的正确证书而不是自签名证书。
我试图生成一个包含多个 CN 条目的新证书,但我无法使用 CN 条目中定义的任何名称连接到服务器。
我很确定您需要一个具有多个 CN 的证书,而不是一个包含 DNS 条目的证书。
该证书是使用 Web 服务器模板生成的。
我认为这不是正确的模板。我目前无法访问 CA,但我认为该模板没有使用正确的服务器身份验证证书。我书中的注释说:
该证书必须是服务器身份验证证书,需要证书的增强型密钥用法属性来指定服务器身份验证 (1.3.6.1.5.5.7.3.1)。还必须使用 AT_KEYEXCHANGE 的 KeySpec 选项创建证书;可选地,密钥使用属性将包括密钥加密。