一.安装组件:
1.Certificate
Service(认证服务):用于申请/颁发认证证书;
2.Management
and Monitoring Tools(网络监视器):用于监控通信时采用明文还是密文。
二.在服务器端计算器上申请/颁发/安装验证证书
安装好Certificate
Service组件后,启动IIS,在预设的站点中可看到一个新的站点CertSrv,如下图:
打开该站点的首页:如下图:
申请服务器验证证书:
1).在首页点击“要求凭证”—》点击“进阶凭证要求”
2).点击“向这个CA建立并提交一个要求”
3)在进阶要求中输入以下红色标注的信息,其它按默认设备,点击“提交”即完成了证书的申请,如下图:
(二).CA管理员颁发服务器验证证书
1)打开“凭证授权单位”系统工具,
如下图:
2)选择左侧菜单栏中的“搁置要求”,在右窗口中可看到刚申请的服务器验证证书。右键单击该证书,选择“所有工作”à发行,即完成了证书的颁发。
.安装已发行的证书
1)再次打开,点击“检视搁置中的凭证要求状态”,如下图:
可看到您之前申请的服务器验证证书,此时的证书已得到CA管理员的发行,可点击安装。如下图:
2)点击“安装这个凭证”即可完成证书的安装,如下图:
.验证证书是否已安装
1)单击任务栏上的“开始”按钮,然后单击“运行”。
2)键入“mmc”,然后单击“确定”。
3)在“控制台”菜单上,单击“添加/删除管理单元”。
4)单击“添加”。
5)单击“证书”,然后单击“添加”。
6)单击“计算机帐户”,然后单击“下一步”。
7)确保选中了“本地计算机:(运行本控制台的计算机)”,然后单击“完成”。
8)单击“关闭”,然后单击“确定”。
9)在左窗格的树视图中,展开“证书(本地计算机)”,展开“个人”,然后选择“证书”。
10)验证是否确实有一个证书具有您在前一个过程中指定的完全限定域名。
如下图所示:
三.在客户端计算器上安装CA颁发的证书
1.以管理员身份登录到客户端计算机
2.启动Internet Explorer并浏览到Microsoft证书服务
3.单击“”,如下图:
4.点击“安装这个CA凭证链接”,如下图:
四.在SQL Server 2000上启用SSL加密(两种方式选其一即可)
(一)强制所有客户端使用SSL
1.在服务器端计算机上,单击“Microsoft
SQL Server”程序组中的“服务器网络实用工具”。
2.单击选择“强制协议加密”。
3.验证是否启用了TCP/IP和/或命名管道。
4.单击“确定”关闭SQL Server网络实用工具,然后在“SQL
Server网络实用工具”消息框中单击“确定”。
5.重新启动SQL Server服务。
设置完后,后续客户端所有连接,都将以密文传送,不论客户端是否指定安全连接(即Encrypt=True/False)
(二)允许客户端决定是否使用SSL
(即允许客户端选择是否使用SSL,可以将客户端库配置为对于所有连接强制使用SSL,或者可以让各应用程序在每个连接的基础上进行选择)
重新配置服务器端计算器
1.在服务器端计算机上,运行“Microsoft
SQL Server”程序组中的“服务器网络实用工具”。
2.清除“强制协议加密”复选框。
3.重新启动SQL Server服务。
4.返回到客户端计算机
客户端计算器配置:
方法一:(将客户端库配置为对所有连接都使用SSL)
1.在“Microsoft
SQL Server”程序组中,单击“客户端网络实用工具”。
2确保启用了TCP/IP和/或命名管道。
3.选择“强制协议加密”。
方法二:
(应用程序使用连接字符串来决定是否使用加密)"Server=sql01;Integrated Security=SSPI;Persist SecurityInfo=False;Database=Northwind;Encrypt=True/False"
五.在SQL Server 2005上启用SSL加密(两种方式选其一即可)
(一)强制所有客户端使用SSL
1.单击“开始”,在Microsoft
SQL Server 2005程序组中,指向“配置工具”,再单击“SQL
Server配置管理器”。
2.展开“SQL
Server 2005网络配置”,启用TCP/IP和/或命名管道,右键单击”SQLEXPRESS协议”,再单击“属性”。
3.在“证书”选项卡上,配置数据库引擎以使用该证书。
4.在“标志”选项卡上,查看或指定协议加密选项。应始终对登录数据包进行加密。
如果数据库引擎的ForceEncryption选项设置为“是”,则将加密所有客户端/服务器通信,并且拒绝无法支持加密的客户端的访问。
(如果数据库引擎的ForceEncryption选项设置为“否”,则客户端应用程序可以请求加密,但不是必需的。)
5.重新启动SQL Server。
(二)允许客户端决定是否使用SSL
若服务器端计算器数据库引擎的ForceEncryption选项设置为“否”,则客户端应用程序可以使用连接字符串来决定是否使用加密:"Server=sql01;Integrated Security=SSPI;Persist SecurityInfo=False;Database=Northwind;Encrypt=True/False"
六.使用网络监视器验证通信是否已加密
(一)明文通信
1.在服务器端计算器上,确保未设置强制协议加密,
2.在客户端计算机上,使用Visual Studio.NET创建一个名为SQLSecureClient的新C#控制台应用程序。将下面的代码复制到class1.cs,替换所有现有的代码。
注意:用数据库服务器的名称替换连接字符串中的服务器名。