- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我正在尝试配置 SQL Server 2014,以便我可以使用 SSL 远程连接到它。服务器上安装了有效的通配符证书,并且证书的域名 (example.com) 与服务器的 FQDN (test.windows-server-test.example.com) 匹配。
问题是在 SQL Server 配置管理器中,没有列出证书,所以我无法选择它。
也就是说,我卡在了 this MS tutorial 的步骤 2.e.2 上.
最佳答案
在评论中沟通后,我可以假设您的主要问题是您使用的证书的 CN 部分。要为 IIS 服务器成功进行 TLS 通信,没有像 SQL Server 那样的严格限制。
Microsoft 要求(参见 here)证书的名称必须是计算机的完全限定域名 (FQDN)。这意味着主题证书的一部分看起来像 CN = test.widows-server-test.example.com,其中 test.widows-server-test.example.com 是 FQDN你的电脑。您使用例如 CN = *.example.com 和 Subject Alternative Name 是不够的,其中包含 DNS Name=*.example.com
和 DNS 名称=test.widows-server-test.example.com
,DNS 名称=test1.widows-server-test.example.com
,DNS Name=test.widows-server-test2.example.com
等等。这样的证书对于 TLS 是可以的,但是 SQL Server 会丢弃它。参见 the article ,它描述了紧密的问题。
我建议您创建 CN 等于 SQL Server 的 FQDN 的自签名证书,并验证 SQL Server 配置管理器是否可以看到该证书。
已更新:我对进程监视器的问题进行了更多分析,发现注册表中的两个值对 SQL Server 配置管理器很重要:值 Hostname
和 key 下的 Domain
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
如果我将 Domain
和 Hostname
更改为与证书的 CN 对应的值,则该证书将已显示在 SQL Server 配置管理器中。这可能不是所有问题,但它表明 SQL Server 作为 Web 服务器(例如 IIS)需要更多。
更新 2: 我再次详细检查了这个问题,我想我确实找到了如何配置您已经拥有的通用 SSL 证书的方法(例如从 Let's Encrypt 认证的免费 SSL) 、StartSSL 或其他)。
区分SQL Server 配置管理器 和SQL Server 所需的配置很重要。 Configuration Manager 属性的“证书”选项卡与 SQL Server 相比有更多硬性限制。上面我只描述了SQL Server Configuration Manager的限制,但是可以直接在Registry中进行配置,让SQL Server使用更常见的SSL/TLS Certificate。我在下面描述了如何做到这一点。
需要做的可以在注册表的HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL12.SQL2014\MSSQLServer\SuperSocketNetLib
键下,其中MSSQL12. SQL2014
在您的情况下可能会有所不同。 SQL Server 配置管理器帮助我们在注册表中设置两个值:ForceEncryption
和 Certificate
:
Certificate
值是 SHA1 哈希,可以通过检查证书的属性找到:
或证书的扩展属性,您可以通过使用 certutil.exe -store My
看到:
只需复制“Cert Hash(sha1)”值,删除所有空格并将其作为 Certificate
的值放入注册表中。进行设置并重新启动 SQL Server windows 服务后,将在 C:\Program Files\Microsoft SQL Server\...\MSSQL\Log
目录中的文件 ERRORLOG
中看到像一行
2016-04-25 21:44:25.89 Server The certificate [Cert Hash(sha1) "C261A7C38759A5AD96AC258B62A308A26DB525AA"] was successfully loaded for encryption.
关于sql-server - SQL Server 配置管理器中的下拉列表中缺少 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36817627/
上篇文章“vSAN Data Protection Part 1:安装部署。”介绍了如何安装及部署 VMware Snapshot Service Appliance 设备,并在 vSAN ESA 集
我在我的 android 项目中使用 Realm。目前我在我的应用程序类中定义默认 Realm 配置如下- @Override public void onCreate(){ super.o
在问我的问题之前,让我先介绍一些背景信息: 我最近加入了一个新的软件开发小组,该小组使用 Rational 工具进行配置管理,包括源控制和变更管理系统。 除了这些工具之外,团队还有一个标准做法是将任何
我正在从事的一个项目涉及持续维护一个被克隆到嵌入式设备上的基本 Linux 磁盘镜像。 现在,每次进行更改时,我们都会在文件中记录所做的操作并保存磁盘镜像的副本。然而,作为一名软件工程师,这与传统做法
我目前正在寻找管理 app.config 文件的方法。我目前有多个版本的相同软件在不同的环境中运行,其中每个软件都使用特定版本的 app.config 文件。用户在更改配置时经常会出错,并且很难验证当
前言: 继上篇: Taurus .Net Core 微服务开源框架:Admin 插件【3】 - 指标统计管理 本篇继续介绍下一个内容: 1、系统配置节点:App -
前言: 继上篇: Taurus .Net Core 微服务开源框架:Admin 插件【4-1】 - 配置管理-Kestrel【含https启用】 本篇继续介绍下一个内容: 1、
前言: 继上篇: Taurus .Net Core 微服务开源框架:Admin 插件【4-2】 - 配置管理-Mvc【含请求日志打印】 本篇继续介绍下一个内容: 1、系统配置节
我是一名优秀的程序员,十分优秀!