强制协议加密选项处于打开状态时,SQL Server 如何使用证书

文章翻译 文章翻译
文章编号: 318605 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍了如何 SQL Server 使用、 查找,和 强制协议加密 选项处于打开状态时或者在客户端上,或者若要启用的网络库加密在服务器上验证证书。

注意概念和本文中的讨论适用于 SQL Server 2000 也适用于 SQL Server 2005。但是,SQL Server 2005 中的 强制协议加密 选项而不是使用 ForceEncryption 选项。您可以设置 ForceEncryption 选项的值为 启用的 SQL Server 实例的加密连接。有关详细的信息,请参阅在"如何: 启用加密连接到数据库引擎 (SQL Server 配置管理器)"中 SQL Server 2005 丛书联机主题。

更多信息

SQL Server 如何使用证书

SQL Server 2000 支持来控制的网络库加密的 强制协议加密 选项。打开 强制协议加密 时,SQL Server 使用安全套接字层 (SSL) 客户端和 SQL Server 之间的所有通信进行都加密。证书是必需的因为 SSL 加密仅对 SQL Server 2000 有一个分配从公共证书颁发机构的证书的计算机上运行的实例起作用。 有关详细的信息请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
276553如何启用 SSL 加密 SQL Server 2000 与证书服务器
有关如何打开 SQL Server 2000 SSL 加密的详细信息单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
316898如何启用 SSL 加密 SQL Server 2000 使用 Microsoft 管理控制台
如果将 强制协议加密 选项开启了客户端上通过使用 SQL Server 客户端网络实用工具,仅 SQL Server 到该客户端的通信进行加密。如果该客户端试图连接到另一台计算机正在运行 SQL Server,客户端将尝试对该通信进行加密。如果在客户端上,强制协议加密 选项处于打开状态,该客户端将不再向后兼容。因此,客户端无法连接到 Microsoft SQL Server 6.5 或 Microsoft SQL Server 7.0。如果运行的 SQL Server 的客户端试图连接的计算机没有安装了证书,客户端会收到此错误消息:

SQL Server 上不受支持的加密
因此如果一个客户端请求加密,必须正在运行 SQL Server 在计算机上安装一个证书。正在运行 SQL Server 在计算机上安装证书后,您必须重新 SQL Server 启动要使用的证书。如果不重新启动 SQL Server 后安装该证书,打开加密的客户端将无法连接,并会显示同样的错误消息:

SQL Server 上不受支持的加密
如果将 强制协议加密 选项开启了在服务器上通过使用服务器网络实用工具,所有客户端和 SQL Server 之间的通信进行加密。因此,如果正在运行 SQL Server,在计算机上未安装证书,或者 SQL Server 无法验证证书 SQL Server 将无法启动。SQL Server 错误日志将具有此文本:

找到 2001年-08-23 15:12:09.48 服务器加密请求,但没有有效证书。SQL Server 终止。
2001-08-23 15:12:09.62 服务器错误: 17826,严重性: 18,状态: 1
2001-08-23 15:12:09.62 服务器可能未设置 SSNETLIB 的网络库
2001-08-23 15:12:09.67 服务器错误: 17059,严重性: 18,状态: 0
2001-08-23 15:12:09.67 服务器操作系统错误-1073723998:
2001-08-23 15:12:09.67 服务器无法加载任何 netlibs。
2001-08-23 15:12:09.74 服务器 SQL Server 可能不生成 FRunCM 线程。

如何 SQL Server 查找证书

金毛 SQL Server 2000 发行版中,SQL Server 查看证书存储区以查找具有相同的名称为在完全限定域名系统 (FQDN) SQL Server 计算机名称的证书。如果您与故障转移群集部署 SQL Server,您必须安装服务器证书与故障转移群集中的所有节点上为虚拟服务器的 FQDN。

可以从 Microsoft SQL Server 2000 Service Pack 1 开始 SQL Server 查找此注册表项中名为 证书 的二进制值:
HKLM\SOFTWARE\Microsoft\MSSQLServer\MSSQLServer\SuperSocketNetLib
如果使用的 SQL Server 2005 可以找到以下注册表子项下的 证书 注册表项:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib


注意MSSQL.x 是实例的 SQL Server 的相应值的占位符。

如果缺少证书值或设置为零长度字符串,SQL Server 查看证书存储区以查找具有相同 SQL Server 计算机名的 FQDN 的名称的证书。如果设置注册表值,是 SQL Server 会尝试使用该证书。

如何 SQL Server 验证证书是否有效

  • 证书的 增强型密钥用法 属性具有打开服务器身份验证。若要验证该证书用于服务器身份验证,使用 Microsoft 管理控制台 (MMC) 的证书管理单元双击证书名称,然后选择 详细信息。单击 增强型密钥用法 属性,然后验证值是:
        Server Authentication(1.3.6.1.5.5.7.3.1). 
  • 请确保证书名是相同作为 SQL Server FQDN 或值 (如前面所述),在注册表中配置。
  • 作为 SQL Server 启动帐户身份登录时,您必须安装该证书到 证书-当前用户 \Personal 文件夹。这将确保证书将被放入 SQL Server 启动帐户的 个人证书 文件夹中。如果您是使用不同于 SQL Server 启动帐户的用户帐户登录的将证书放入 Certificates\Local 计算机个人证书 文件夹中。此操作可以解决该问题的证书存储在错误的用户帐户下。

    若要访问 当前用户 文件夹,请按照下列步骤操作:
    1. 作为 SQL Server 启动帐户登录。
    2. 使用 MMC 证书管理单元来验证证书的位置。

属性

文章编号: 318605 - 最后修改: 2006年1月2日 - 修订: 7.3
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL 2005 Server Workgroup
关键字:?
kbmt kbinfo KB318605 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 318605
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com