1、一、实验要求一、实验要求n在Windows 2000/XP上建立支持SSL的Web服务器n客户端使用浏览器能与该服务器使用SSL协议通信n使用OPENVPN建立自己的CA并生成X.509证书二、二、SSLSSL简介简介nHTTP是个纯文本协议,任何想要侦听网络的人都能够读取整个会话n安全套接字层(Secure Sockets Layer,SSL),它会加密客户和服务器之间发送的所有数据n基于数字证书的SSL,对在网络上传输的信息进行加密同时可以保证数据的完整性和可信性 SSLSSL简介(续)简介(续)n从OSI七层模型来看,该协议处于应用层和传输层之间,依赖于面向连接的可靠的传输协议(如:TC
2、P等)三、实验环境三、实验环境n硬件环境:Intel Celeron(R)1.70GHz处理器,256MB内存,10/100兆自适应网卡n软件环境:Windows 2000/XPn使用软件:Apache Friends 1.4.13,OpenVPN-2.0.7,IE 浏览器n本次实验中,是在Windows XP下Apache FriendsOpenVPN的实验环境下完成的。Apache Friends 1.4.13n下载地址:nftp:/202.117.165.36/pub/xampp-win32-1.4.13.exenOrnftp:/stduent:ctec202.117.35.170/te
3、acher/open_platform/apache/Windows/xampp-win32-1.4.13.exeOpenVPN 2.0.7n下载地址:nftp:/202.117.165.36/pub/openvpn-2.0.7-install.exenOrnftp:/student:ctec202.117.35.170/teacher/Network/security/openvpn-2.0.9-install.exeApache Freinds安装注意事项nApache Friends必须安装任意盘符的根目录下,例如d:xamppnApache+MySQL启动作业为d:xamppxampp
4、_start.batn服务器测试地址:localhost 或 127.0.0.1Apache Friends目录Apache Friends启动成功Q&A:我的AF为何不启动?n检查原因:在dos下,键入d:xamppxampp_start.batn常见原因:nC:netstat nb 检查端口占用n80端口被占用(使用控制面板-服务,关闭IIS)n配置文件修改有误,改正错误Q&A:我发的中文网页见乱码?n请修改C:xamppapacheconfhttpd.conf将:AddDefaultCharSet=ISO-1024改为:AddDefaultCharSet=GB2312Apache Fri
5、ends(HTTP测试)检查Apache friends的端口四、安装四、安装OpenVPNOpenVPNn这是一个虚拟专网工具,能在windows 或linux,BSD下制作CA根、服务器、客户端证书。四、安装四、安装OpenVPN(OpenVPN(续续)四、安装四、安装OpenVPN(OpenVPN(续续)n安装完毕后,开始安装完毕后,开始-程序程序-附件附件-命令提命令提示符,进到示符,进到openvpn的的easy-rsa目录,目录,比如:比如:C:Program FilesOpenVPNeasy-rsa,输,输入入:init-config 四、安装四、安装OpenVPN(OpenVP
6、N(续续)五、建立五、建立CACA证书证书n进入目录进入目录./openvpn-2.0.7/easy-rsa,编,编辑辑vars文件修改参数如下:文件修改参数如下:set KEY_COUNTRY=CNset KEY_PROVINCE=Shaanxiset KEY_CITY=Xianset KEY_ORG=CTECXJTUset KEY_EMAIL=ctecmail.xjtu.edu五、建立五、建立CACA证书(续)证书(续)五、建立五、建立CACA证书(续)证书(续)建立建立CACA证书(续)证书(续)n在工作目录下,(DOS)输入:varsbuild-ca n一般在制作证书的过程中会要求输入
7、如下内容:nCountryName(2lettercode)CN:nStateorProvinceName(fullname)Shaanxi:nLocalityName(eg,city)Xian:nOrganizationName(eg,company)XJTU:nOrganizationalUnitName(eg,section)CTEC:nCommonName(eg,yournameoryourservershostname)CTECXJTU:nEmailAddressctecmail.xjtu.edu:nCA根证书制作完成!在keys目录下就会产生CA根证书ca.crt和CA的私钥是ca
8、.key建立建立CACA证书(续)证书(续)CACA证书和私钥证书和私钥六、制作服务器证书六、制作服务器证书n在工作目录下,输入:在工作目录下,输入:build-key-server myapache n注意:这时注意:这时Common Name(e.g.cxq or CTEC):可以输入服务器的域名或可以输入服务器的域名或IP,比如,比如202.117.35.112,与,与httpd.conf和和ssl.conf里的设置对应里的设置对应n服务器证书制作完成。在服务器证书制作完成。在keys目录下就会产目录下就会产生生server.crt(证书)和(证书)和server.key(私钥)(私钥)
9、制作服务器证书过程(一)制作服务器证书过程(一)制作服务器证书过程(二)制作服务器证书过程(二)服务器证书和私钥服务器证书和私钥七、服务器安装证书n将服务器的证书和公钥放置到位Apache 的配置文件修改配置文件n把httpd.conf和ssl.conf中将ServerName后面改为ServerName为主机IP地址(如:202.117.35.112)nssl.conf中的改动的其他配置如下:SSLMutex default SSLCertificateFile/xampp/apache/conf/ssl.crt/myapache.crtSSLCertificateKeyFile/xampp
10、/apache/conf/ssl.key/myapache.keySSLCertificateChainFile/xampp/apache/conf/ssl.crt/ca.crtSSLCACertificateFile/xampp/apache/conf/ssl.crt/ca.crt DocumentRoot/xampp/htdocs测试服务器证书n之后以/xampp/xampp_restart.bat命令重新启动apache 服务器,此时apache服务器已经支持与SSL相关的服务器证书n建议在DOS下启动xampp_start.bat,以便及时观察服务器出错信息,并对配置文件进行调整 n在
11、浏览器输入https:/127.0.0.1,并观察证书使用和安装测试服务器证书(续)测试服务器证书(续)将服务器证书存入浏览器n安装服务器证书到本地浏览器目录中测试服务器证书(续)服务器证书存入浏览器(续)n通过浏览器的“Internet选项-证书-其他人”可以检查保存在浏览器上的服务器证书测试服务器证书(完)n保存完毕服务器证书后,再次访问该SSL网页时,不会再出现警告信息。八、制作客户端证书八、制作客户端证书n在工作目录下,输入:varsbuild-key ie n客户端证书制作完成。在keys目录下就会产生ie.crt(客户端证书)和ie.key(私钥)n但是crt的客户端证书是不能使用
12、的,必须把它转化为.pfx格式的文件n在命令提示符下,输入:openssl 回车,看到openssl 对话框,输入下列指令:客户端证书制作过程(一)客户端证书制作过程(一)客户端证书制作过程(客户端证书制作过程(二)二)客户端证书制作过程(三)客户端证书制作过程(三)pkcs12-export-in keys/ie.crt-inkey keys/ie.key-out keys/ie.pfx nEnter export password:要求你建立客户端要求你建立客户端证书的输出密码证书的输出密码nverifying-Enter export password:再确认:再确认一遍一遍n在在key
13、s目录下就会产生目录下就会产生ie.pfx(客户端证书)(客户端证书)客户端证书制作过程(四)客户端证书制作过程(四)n客户端证书九、客户端证书安装九、客户端证书安装n打开打开internet explorer(IE),工具,工具-internet选项选项-内容内容-证书,点选证书,点选个个人人,再点击导入,再点击导入,把客户端证书把客户端证书ie.pfx导入到个人组里导入到个人组里(别忘了扩展名别忘了扩展名是是pfx)n这里还要输入刚才建立的输出密码这里还要输入刚才建立的输出密码n接着,点选接着,点选受信任的根证书颁发机构受信任的根证书颁发机构,点击导入,把点击导入,把CA根证书根证书ca.
14、crt导入到导入到受信任的根证书颁发机构里受信任的根证书颁发机构里客户端证书安装客户端证书安装安装安装n安装到浏览器受信任的根证书安装位置受信任的根证书安装位置根证书安装警告根证书安装到浏览器十、进行测试十、进行测试n在地址栏里输入http/127.0.0.1或者IP地址,弹出个窗口要选择个人的数字证书n如果服务器证书的common name填写正确的话,就可以直接进入网站了,看到右下角的小锁头(可靠的SSL128位)测试画面(一)测试画面(二)测试画面(三)其他注意事项n各种启动批作业(xampp_start.bat,),在DOS下操作。n各种OpenVPN的证书、密钥在DOS下操作n熟悉OpenVPN的工作目录n熟悉Web服务器配置文件,浏览器的配置操作Q&An服务器证书的作用是什么?n用户证书的作用是什么?n根证书的作用是什么?