用Windows2000实现安全Web站点
2015-08-29 14:23 来源:学术参考网 作者:未知
SSL(Security Socket Layer,简称安全套接字协议层)是电子商务的一种重要技术,可用于实现安全web站点。但是,迄今为止,报刊上有关文章主要在于理论介绍,具体实现技术的介绍比较少见,其中原因主要在于商业的认证中心(Certificate Authority,又称CA中心)在国内还不太成熟,向国外申请又太贵。还有些文章提到了用Windows2000来自己建立CA中心,同样也主要是理论介绍,凭借它们加上Windows的帮助,要设计一个安全web站点,依然有一定难度,笔者通过一段时间摸索,掌握了有关的实现技术,特介绍之,与同行共享。
为便于大家掌握,以下介绍采用最简单的工作环境(见图1),即:Web服务器Windows2000AdvancedServer作为操作系统;认证中心则在此基础上增加了“证书颁发机构”组件,IP地址为10.15.11.13,证书颁发策略为“立即颁发”;浏览器用IE4.0或IE5.0,服务器放在Intranet上,通过网络颁发数字证书。假设要实现安全Web的站点名为默认站点Myweb.
一、数字证书的取得与管理
(一)生成申请Web站点数字证书的文件
本操作在Web服务器端进行。具体步骤是:
1.启动Web服务器的“Internet信息服务”
2.在“Internet信息服务”中,右击Myweb站点名,选择快捷菜单的“属性”命令,出现“Myweb属性”对话框;
3.单击“Myweb属性”对话框中“目录安全性”页标签,再单击“服务器证书”按钮。
4.在“IIS证书向导”对话框中,按提示,依次选择“创建一个新证书”,“现在准备请求,但稍候发送”等,设置有关属性,将最后的证书申请以文本文件保存,假设文件名为:E:\\certreq.txt.
5.最后单击“完成”即可
(二)生成服务器证书
首先,将证书申请文件内容复制到剪切板。方法是,用记事本打开E:\\certreq.txt,查看申请文件内容。可以看到这是一个纯文本文件,以PKCS#10编码格式保存,首尾两行为申请的开始与结束。选择“编辑/全选”,再选择“编辑/复制”即可。
然后生成服务器证书。紧接前一步,在Web服务器端依次执行:
1.启动IE,在地址栏打入命令:http://10.15.11.13/certsrv;
2.选择“申请证书”,单击“下一步”;
3.选择申请类型为“高级申请”,单击“下一步”;
4.选择第2项“使用Base64编码的PKCS#10文件提交一个证书申请,或使用Base64编码的PKCS#7文件更新证书申请”,单击“下一步”;
5.右击中间“Base64编码证书申请”右边的编辑框,选择快捷菜单项“粘贴”,将证书申请内容粘贴进去(见图2);
图2(略)
6.单击“提交”按钮,则完成申请功能。
7.由于认证中心的证书颁发策略为立即颁发,因此很快,CA中心就会将证书颁发给你,屏幕上显示“您申请的证书已发布给您”,你可以“下载CA证书及CA证书路径”等提示(见图3);
图3(略)
8.选择“Base64编码”,单击对应的显示,将证书以mywebcert.cer为文件名保存在桌面上。
(三)安装服务器证书
再进入到“myweb属性”对话框中,单击“服务器证书”,在“IIS证书向导”对话框中,按提示操作即可安装服务器证书。其中要求:
1.选择“处理挂起的请求并安装证书”;
2.输入证书文件名时,单击“浏览”,选择桌面上的文件“mywebcert”(即存放刚才生成的服务器证书的文件),单击“打开”,直到出现“完成”对话框时,单击“完成”按钮即完成证书安装。
(四)查看并备份服务器证书
接上一步,单击“myweb属性”对话框中的“查看证书”按钮,将显示服务器的证书,显示内容略。在“证书”对话框中单击“详细信息”页,再单击“复制到文件”将该证书以文件名mywebcert.pfx保存在桌面上。注意文件的扩展名表示“个人信息交换”证书文件,与前面不同,文件保存了证书的公钥与私钥。
二、设置“安全通信”属性
接上一步,单击myweb属性对话框中的“编辑”按钮,选中“申请安全通道”与“申请客户证书”(见图4),再单击“确定”。
图4(略)
这表示客户浏览器查看Myweb站点的内容时,必须申请安全通道。要申请安全通道,客户端必须拥有本服务器信任的证书,否则不允许客户浏览。并且必须在地址栏打入https开头,而不是Http,进行SSL的安全通信。具体操作过程略。
如果允许客户决定与web服务器通信加密,或不加密通信,则设置为“接收客户证书”。
除此之外,还可以对证书信任列表进行设置,本文略。
三、ASP与安全web站点有关的对象与方法
(一)Session对象
Session是访问者从到达某个特定主页到离开为止的那段时间,每个访问者都会单独获得一个session.这是一个内置对象。其中属性Session.SessionID可作为一个用户session的惟一标识。我们一般设置普遍信息非加密浏览,敏感信息要求加密通信,例如一个电子商务网站,登记注册时要求加密通信,注册后察看一般产品时用非加密通信,而要输入信用卡时,又要用加密通信。为此,我们只要将两类信息在web站点下面分目录存放,其中非加密浏览的目录取消其“目录安全性”的“申请安全通道”复选框即可,方法类同2. ASP用Response.RedirectURL,将浏览器在不同的目录网页之间转换。同时,检测Session对象的SessionID属性,只要它是一样的,Web服务器就知道还是同一个用户浏览。
相关文章
学术参考网 · 手机版
https://m.lw881.com/