实务课程:会计课程税务课程免费试听招生方案 初当会计岗位认知会计基础财务报表会计电算化

综合辅导:会计实务行业会计管理会计审计业务 初当出纳岗位认知现金管理报销核算图表学会计

首页>会计信息>会计电算化> 正文

用Windows2000实现安全Web站点

2004-11-19 14:30 浙江大学/钟元生 【 】【打印】【我要纠错
    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服务器就知道还是同一个用户浏览。

    (二)客户证书集

    客户证书可以通过Request对象来检测,所有与该Web站点通信的客户证书的信息存储在集合Request.ClientCertficate(key[SubField])中。

    对于Key,该集合具有如下的关键字:

    1.Subject证书的主题。包含所有关于证书收据的信息,能和所有的子域后缀一起使用;

    2.Issuer证书的发行人。包含所有关于证书验证的信息,除了CN外,能和所有的子域后缀一起使用;

    3.ValidFrom证书发行的日期,使用VBScript格式;

    4.ValidUntel证书有效截止日期;

    5.Seria1Number证书的序列号;

    6.Certificate整个证书内容的二进制流,使用ASN.1格式。

    对于Subfield,Subject和Issuer关键字可以具有如下的子域后缀:(比如SubjectOU或IssuerL)

    C表示国家,O表示公司或组织名称,OU表示组织单元,CN表示用户的常规名称,L表示局部,S表示州(或省),T表示个人或公司的标题,GN表示给定名称,I表示初始。

    当文件cervbs.inc(VBScript使用)或cerjavas.inc(Jscript使用)通过使用#INCLUDE包含在你的Active Server Page里时,下面两个标志可以使用:

    ceCertPresent指明客户证书是否存在,其值为TRUE或FALSE.

    CeUnrecongnizedIssure指明在该链表中的最后的证书的发行者是否未知,其值为TRUE或FALSE.

    (三)服务器环境变量中与证书有关的变量

    由环境变量的集合Request.ServerVaribles检测,可以通过使用HTTP前缀来读取任何头信息。与服务器证书有关的信息,可以使用下列变量获得。

    AUTHPASSWORD当使用基本验证模式时,客户在密码对话框中输入的密码。

    AUTHTYPE这是用户访问受保护的脚本时,服务器用于检验用户的验证方法。

    AUTHUSER代验证的用户名。

    CERTCOOKIE唯一的客户证书ID号

    CERTFLAG客户证书标志,如有客户端证书,则bit0为0.如果客户端证书验证无效,bit1被设置为1.

    CERTISSUER用户证书中的发行者字段。

    CERTKEYSIZE安全套接字层连接关键字的位数。如128.

    CERTSECRETKEYSIZE服务器验证私人关键字的位数。如1024.

    CERTSERIALNUMBER客户证书的序列号字段。

    CERTSERVERISSUER服务器证书的发行者字段。

    CERTSERVERSUBJECT服务器证书的主题字段。

    CERTSUBJECT客户端证书的主题字段。

    HTTPS如果请求穿过安全通道(SSL),则返回ON.如果请求来自非安全通道,则返回OFF.

    HTTPSKEYSIZE安全套接字层连接关键字的位数,如128.

    HTTPSSECRETKEYSIZE服务器验证私人关键字的位数,如1024.

    HTTPSSERVERISSUER服务器证书的发行者字段。

    HTTPSSERVERSUBJECT服务器证书的主题字段。
相关热词: Windows200