如何通过使用 Microsoft 管理控制台中启用 SSL 加密技术,SQL Server 的实例

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

本文内容

概要

本分步指南介绍如何在运行 Microsoft SQL Server 通过使用 Microsoft 管理控制台 (MMC) 并描述如何在服务器上,或为特定的客户端启用 SSL 加密的计算机上安装证书。

注意不能使用此方法将证书放在群集 SQL Server 的服务器上。群集实例,请参阅该方法在"启用证书用于 SSL 在群集 SQL Server 安装中,"后面所述这篇文章。

如果您的公司实现企业证书颁发机构时,可以申请证书的独立 SQL Server 的服务器,然后使用安全套接字层 (SSL) 加密的证书。

您可以启用强制协议加密选项在服务器或客户端上。

注意不要启用客户端和服务器上的强制协议加密选项。若要在服务器上启用强制协议加密,请使用服务器网络实用程序或 SQL Server 配置管理器,具体取决于的 SQL Server 版本。若要在客户端上启用强制协议加密,使用客户端网络实用程序或 SQL Server 配置管理器。

重要如果您通过使用客户端网络实用工具 (对于 SQL Server 2000年客户端) 或 SQL 本机客户端启用 SSL 加密 <version></version>配置 (32 位) 或 SQL 本机客户端<version></version>配置页 SQL Server 配置管理器中,从该客户端的所有连接将都请求对该客户端连接到任何 SQL Server 进行 SSL 加密。

如果您在服务器上启用强制协议加密,您必须在服务器上安装一个证书。

如果您想要在客户端上启用强制协议加密,您必须在服务器上有证书,客户端必须有受信任的根颁发机构更新信任服务器证书。

注意如果您使用 SQL Server 使加密的连接的 SQL Server 实例,您可以设置ForceEncryption选项的值为。有关详细信息,请参阅"启用加密连接到数据库引擎 (SQL Server 配置管理器)"SQL Server 联机丛书中:

http://msdn.microsoft.com/en-us/library/ms191192 (v=sql.110).aspx #ConfigureServerConnections

在使用 Microsoft 管理控制台 (MMC) 中的服务器上安装证书

若要使用 SSL 加密,您必须在服务器上安装证书。请按照下列步骤,通过使用 Microsoft 管理控制台 (MMC) 管理单元安装证书。

如何配置 mmc 管理单元
  1. 若要打开证书管理单元,请按照下列步骤操作:
    1. 若要打开 MMC 控制台中,单击开始,然后单击运行。在运行对话框中键入:

      MMC
    2. 控制台菜单上,单击添加/删除管理单元-...
    3. 单击添加,然后单击证书。再次单击添加
    4. 提示您打开管理单元的当前用户帐户的服务帐户或计算机帐户。选择计算机帐户
    5. 选择本地计算机,然后单击完成
    6. 单击关闭添加独立管理单元对话框中。
    7. 单击添加/删除管理单元对话框中的确定。您已安装的证书位于证书文件夹中的个人的容器中。
  2. 使用 MMC 管理单元中的服务器上安装证书:
    1. 单击此处,选择左侧窗格中的个人文件夹。
    2. 在右窗格中右键单击,指向所有任务,然后单击申请新证书...
    3. 证书申请向导对话框将打开。单击下一步。选择证书类型是"计算机"
    4. 好记的名称文本框中可以键入证书的友好名称或将文本框保留为空,并完成向导。在向导完成后,您将看到该文件夹的完全合格的计算机的域名称中的证书。
    5. 如果您想要启用对特定的客户端或客户端加密,请跳过此步骤并继续进行 为特定的客户端启用加密 这篇文章的一部分。

      对于SQL Server 2000年中,若要启用服务器上的加密,请打开服务器网络实用工具安装该证书的服务器,然后单击以选中 强制协议加密 复选框。重新启动以使其生效的加密 MSSQLServer (SQL Server) 服务。您的服务器现在就可以使用 SSL 加密。

      对于SQL Server 2005 及更高版本,若要启用加密服务器上的打开 SQL Server 配置管理器,请执行以下操作:
      1. SQL Server 配置管理器中,展开SQL Server 的网络配置,用鼠标右键单击的协议<server instance=""></server>然后选择属性
      2. 证书选项卡上,从证书下拉列表中,选择所需的证书,然后单击确定
      3. 标志选项卡,在ForceEncryption框中,选择,然后单击确定以关闭对话框。
      4. 重新启动 SQL Server 服务。

在群集 SQL Server 安装上启用 SSL 证书

在下面的注册表项中指定 SQL Server 用于加密连接的证书:

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

此项包含一个属性,该属性的证书称为标识服务器中的每个证书的指纹。在群集环境中,此注册表项将被设置为 Null 的即使正确的证书存储中存在。若要解决此问题,必须采取在每个群集节点上的这些附加步骤后您将证书安装到每个节点):

  1. 导航到存储的 FQDN 证书的证书存储区。在属性页上的证书,请转到详细信息选项卡,并将该证书的指纹值复制到记事本窗口。
  2. 删除在记事本中的指纹值的十六进制字符间的空格。
  3. 启动注册表编辑器,定位到以下注册表项,和第 2 步中复制的值:
    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<instance></instance>\MSSQLServer\SuperSocketNetLib\Certificate
  4. 如果 SQL 虚拟服务器目前在此节点上,故障转移到另一个群集上的节点,然后重新启动的节点,注册表更改时发生。
  5. 重复此过程的所有节点上。

此过程的屏幕抓图,请参阅 MSDN 上的以下博客:

http://blogs.msdn.com/b/jorgepc/archive/2008/02/19/enabling-certificates-for-ssl-connection-on-sql-server-2005-clustered-installation.aspx

为特定的客户端启用加密

客户端请求 SSL 加密中,客户端计算机必须信任服务器证书和证书必须已存在于服务器上。您必须使用 mmc 管理单元导出受信任的根证书颁发机构使用的服务器证书:
  1. 若要导出服务器证书的受信任的根证书颁发机构 (CA),请执行以下步骤:
    1. 打开 MMC,然后在个人文件夹中找到您的证书。
    2. 用鼠标右键单击证书名称,然后单击打开
    3. 查看证书路径选项卡,请注意顶部的大多数项目。
    4. 导航到受信任的根证书颁发机构文件夹,然后找到说明该证书颁发机构在步骤 c 中...
    5. 用鼠标右键单击CA,指向所有任务,然后单击导出
    6. 选择所有默认设置,然后将导出的文件保存到硬盘中,客户端计算机访问该文件的位置。
  2. 请按照以下步骤导入客户端计算机上的证书:
    1. 通过使用 MMC 管理单元中,导航到客户端计算机,然后浏览到受信任的根证书颁发机构文件夹。
    2. 用鼠标右键单击受信任的根证书颁发机构文件夹,指向所有任务,然后单击导入
    3. 浏览,然后选择您在步骤 1 中生成的证书 (.cer 文件)。选择默认设置以完成向导的其余部分。
    4. 使用 SQL Server 客户端网络实用程序。
    5. 单击以选中强制协议加密选项。您的客户端现在就可以使用 SSL 加密。

如何测试您的客户端连接

若要测试您的客户端连接,您可以:
  • 使用 SQL 管理工作室。

    -或者-
  • 使用,您可以在其中更改连接字符串的任何 ODBC 或 OLEDB 应用。
SQL Server 管理 Studio


若要使用 SQL Server 管理 Studio 进行测试,请执行以下步骤:
  1. 定位到 SQL Server 客户端<version></version>配置页面在 SQL Server 配置管理器。
  2. 在属性窗口中,将设置强制协议加密选项为"是"。
  3. 将连接到的服务器正在运行 SQL Server 通过使用 SQL Server 管理 Studio。
  4. 通过使用 Microsoft 网络监视器或网络嗅探器监视通信。

ODBC 或 OLEDB 应用程序示例连接字符串

如果使用 ODBC 或 OLEDB 连接字符串,如 SQL 本机客户端提供程序中的,添加加密关键字并将其设置为true在连接字符串中,然后监视的通信使用工具 (如 Microsoft网络监视器或网络嗅探器

故障排除

您已成功安装证书后,在没有出现证书 证书 将列在 证书 选项卡。

注意" 证书 选项卡 协议 <InstanceName></InstanceName> 属性 从 SQL Server 配置管理器中打开的对话框。

因为您可能已安装的证书无效,将出现此问题。如果证书是无效的它将不会列出在上 证书 选项卡。若要确定您安装的证书是否有效,请按照下列步骤操作:
  1. 打开证书管理单元中。若要执行此操作,请参阅中的"如何在 MMC 管理单元中配置"部分中的步骤 1。
  2. 在证书管理单元中,展开 个人然后展开 证书.
  3. 在右窗格中,找到您所安装的证书。
  4. 确定证书是否满足以下要求:
    • 在右窗格中的值 预期的目的 此证书的列必须是 服务器身份验证.
    • 在右窗格中的值 颁发给 列必须是服务器的名称。
  5. 双击该证书,然后再确定证书是否满足以下要求:
    • 在上 常规 选项卡上,您会收到下面的消息:
      您有一个与该证书对应的私钥。
    • 在上 详细信息 选项卡,选择的值 主题 字段必须是服务器的名称。
    • 增强型密钥用法 字段必须是 服务器身份验证 (<number></number>).
    • 在上 证书路径 选项卡上,服务器名称必须出现在下 证书路径.
如果不满足这些要求的任何一个,则该证书是无效的。

属性

文章编号: 316898 - 最后修改: 2013年6月12日 - 修订: 1.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2000 标准版
  • Microsoft SQL Server 2000 64-bit Edition
  • 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
  • Microsoft SQL Server 2008 Developer
  • Microsoft SQL Server 2008 Enterprise
  • Microsoft SQL Server 2008 Express
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 R2 Datacenter
  • Microsoft SQL Server 2008 R2 Developer
  • Microsoft SQL Server 2008 R2 Enterprise
  • Microsoft SQL Server 2008 R2 Express
  • Microsoft SQL Server 2008 R2 Standard
  • Microsoft SQL Server 2008 R2 Web
  • Microsoft SQL Server 2008 R2 Workgroup
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Web
关键字:?
kbsqlsetup kbhowtomaster kbmt KB316898 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 316898
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