密码编码学与网络安全实验报告及代码五.docx
《密码编码学与网络安全实验报告及代码五.docx》由会员分享,可在线阅读,更多相关《密码编码学与网络安全实验报告及代码五.docx(16页珍藏版)》请在冰点文库上搜索。
密码编码学与网络安全实验报告及代码五
计算机科学与技术学院实验报告
实验题目:
CA组件安装与配置
学号:
日期:
2014-5-14
班级:
2011级电子商务
姓名:
Email:
@
实验目的:
通过安装和配置虚拟机的WINDOWS2003SERVER操作系统中集成的CA组件,实现浏览器证书和WEB证书的签发,进一步了解微软公司的PKI技术框架,并能够使用该模块,在实际系统中进一步应用(也可以在安装WINDOWS2003SERVER的时候一并选择安装)。
硬件环境:
我滴电脑啊:
软件环境:
同实验三、四环境,即实验一二所配置的环境:
安装在VMWARE虚拟机上的WIN2003;装有Perl以及OpenSSL的VC++6.0。
实验步骤:
下面安装配置CA服务器:
首先打开“服务器管理器”→添加角色,选中“AcitveDirectory证书服务”。
如下图所示
单击“下一步”,选中“证书颁发机构”和“证书颁发机构web注册”。
后者主要是通过web界面来进行证书的相关操作。
如下图所示。
单击“下一步”,如下图所示,由于不在AD中,我们选“独立”。
单击“下一步”,如下图所示,由于是企业中第一个证书服务器,所以我们选“根CA”。
单击“下一步”,如下图所示,选择“新建私钥”;
单击“下一步”,如下图所示,这里就用默认的。
单击“下一步”,如下图所示,这边修改CA的公用名称为CA01,该名称无实际意义,随便取。
上图中的可分辨后缀名可不填写。
下面的操作全部默认,过程这里省略了。
安装IIS服务过程略过,但注意一定要选择"Asp.Net"组件!
下面配置web服务器
首先安装好IIS和DNS组件,这里省略。
打开IIS,这里我们的加密网站就直接使用原来的默认网站了,当然新建网站也一样做。
首先修改C:
\inetpub\wwwroot中的首页,把原来的文件删除,新建一个index.htm,内容任意。
并且测试下这个网页能被访问到,如下图所示:
注意:
新建网页的时候,我们一般是用记事本,然后另存为index.htm,这里注意和windows2003不一样,需要打开后缀名。
否则另存为后的文件是index.htm.txt。
在这里把DNS也配好,添加主机记录,客户机的的DNS地址也要设置好,测试通过域名能访问该网站。
IIS服务器此时还不信任颁发证书的CA服务器。
解决办法是将CA服务器添加到IIS服务器计算机"受信任的根证书颁发机构",
在web服务器上打开http:
//1.1.1.1/certsrv/
选择“下载CA证书、证书链或CRL”。
为了方便,下载保存到桌面上,然后双击安装。
安装过程中把证书导入到“受信任的根证书颁发机构”中,如下图:
(这里最好勾选“显示物理存储区”,导入到localcomputer)
接下来在网站中配置证书,打开IIS,选中“计算机名字”,在中间选中“服务器证书”如下图所示,
在右边选中“创建证书申请”,如下图所示:
输入证书请求信息,通用名称请输入完整的域名(包含主机名),企业名称可以用中文,国家代码一般用CN(请按照ISO3166-1A2):
我们的证书是用于web服务的,所以这里一定要填网站的访问域名,比如,注意这里如果填,用就无法访问,会出现证书不是颁发给该网站之类的提示。
选择加密服务程序和密钥长度,加密服务程序选择缺省的MicrosoftRSASchannelCryptographicProvider,加密长度一般可以为1024位,如果申请EV证书至少2048位。
单击“下一步”,出现保存证书申请文件对话框,输入任意文件名,保存到桌面,用记事本打开,如下图:
接下来我们来完成证书申请,
在第二台win2008客户机上打开浏览器,输入:
http:
//1.1.1.1/certsrv;如下图:
这里选申请证书。
这里选“高级证书申请”
这里选“使用base64……”
此图中的编码从之前的abc中用记事本打开复制过来,注意包含-----BEGINCERTIFICATE-----和-----ENDCERTIFICATE-----。
接下来去CA服务器上颁发证书。
在“管理工具”中打开“CertificationAuthority”,进入“挂起的证书”中颁发,如下图所示:
打开http:
//1.1.1.1/certsrv,选“查看挂起的证书申请的状态”,如下图所示:
这里下载证书到桌面,保存为“webca“。
接下来在IIS中完成证书申请,如下图:
主要这里不要放一开始申请的导入“受信任的根证书颁发机构”的certnew证书,而是后来申请的certnew2证书。
当弄错了,是不会继续的,所以这步一般不会错。
注:
证书申请除了通过网页方式申请外,还可以打开MMC,添加证书模块来做。
接下来对网站进行设置,配置HTTPS执行双向认证
默认情况下,HTTPS单向认证的模式工作,即客户端通过网站证书来验证网站的身份,但网站并不验证客户端的身份,如果需要通过证书验证客户端身份,则可以要求试图访问网站的客户端必须提供证书才能进行访问,执行双向认证时,网站将只接受HTTPS访问。
在IIS右侧打开“网站绑定“,如下图:
在上图中点击右边的“添加“后,如下图:
这里SSL证书选择abc。
在IIS中打开SSL设置,如下图:
如图设置,最后不要忘记右边的“应用“。
“要求SSL”选项,如果没有选中,则用户可以通过HTTPs,也可以通过HTTP来访问,如果“要求SSL”被选中,则用户必须通过HTTPS访问
“客户证书”有3个选项:
忽略、接受、必需。
如果“要求SSL”选项没有选中,则不能选择客户证书“必需”项。
如果选择“忽略”,则服务器不会去检查是否有客户证书,即使客户端有客户证书,也不会被服务器接收。
如果选择“接受”,如果客户有证书,会自动跳出,让客户选择如下图,如果没有,则正常转入原来的页面。
建议客户不要选中“要求SSL”,如果需要使用客户端证书,也可以选择“接受”客户证书。
如果有些页面要求客户必须通过HTTPS访问,可以使用代码自动跳转的方式。
当我们把设置改成必须通过SSL才能访问网站时,经常发现原来不加密的还是能访问,主要是网页缓存的问题,在Internet选项中清空缓存即可,最好再重启IIS,重新打开IE。
配置客户端正常访问SSL网站。
IIS服务器上配置好安全访问后,客户端要能正确访问该网站,此时客户端也必须向CA服务器申请证书!
具体步骤如下:
1:
配置客户端信任颁发证书的CA服务器:
访问独立证书颁发机构的证书申请站点,选择“下载一个CA证书、证书链或CRL”。
将获得的CA证书导入到客户端计算机的“受信任的根证书颁发机构”容器中,以使得客户端计算机信任您的独立证书颁发机构。
2:
在客户端上,为需要访问此IIS站点的用户申请证书,这里千万不要点击“WEB浏览器证书”,否则会后面会跳出一个没有证书的对话框(XP下可以,2008下不行),如下图所示,而是应该点“高级证书申请”。
3:
然后点击“创建并向此CA提交一个申请”。
如下图,创建一个“客户端身份验证证书”。
4.在证书颁发机构颁发该证书,再到客户机上获得此证书并安装。
实验总结和注意点:
1.可在运行中输入:
certmgr.msc可直接打开证书管理器来管理证书。
2.实验过程中不要修改系统时间。
否则出现下图:
3.在工作组模式下证书颁发需要手工颁发,但在加入域环境下证书是自动颁发的(如果CA是域控,则颁发证书时一定要有域管理员权限的用户才可以申请证书)。
4.实验中当客户机是windows2003时访问https:
//IP没问题,但是一旦使用2008作为客户机做测试就会出现证书错误,是因为2008中严格规定证书是颁发给网站域名的,必须配置域名,用域名访问网站。
5.实验中用以前的老虚拟机配置IIS时,发现地址无法绑定,如图,是因为在网络设置中一块网络配置了多个地址。
6.关闭IE的增强的安全配置,可以在“服务器管理里”→“配置IEESC”,管理员和用户都禁用。
.7.有学生做该实验的时候虚拟机都是克隆的,计算机名都一样,会导致实验失败,如下图:
结论分析与体会:
其实,本实验与实验一、二类似,只是环境的配置,只不过相对繁琐了一点儿。
可以参考一些网上教程,一步一步,按部就班来安装,就好。
当然了,下载安装时,要注意一下版本、变量等一系列问题;
除此之外,一些细节问题,也要注意,不然,会麻烦的让你头疼,比如:
在配置web服务器时,新建网页的时候,我们一般是用记事本,然后另存为index.htm,这里注意和windows2003不一样,需要打开后缀名。
否则另存为后的文件是index.htm.txt。
在这里把DNS也配好,添加主机记录,客户机的的DNS地址也要设置好,测试通过域名能访问该网站。
其余的一些细节,在上面的“实验总结和注意点”里均已提及。