/********************************************************************************************声明:本文档用于学习与研究可以自由转载,无论以何种形式发布都必须保留完整的版权声明,商业用途不得转载.本人能力有限,如有问题欢迎交流与指正。网站:论坛:/forum/index.php邮件:rainbow_zrh@sina.com webmaster@infosecurity.net.cn********************************************************************************************/一、OpenSSL的安装 2 1.1、下载OpenSSL 2 1.2、下载perl: 2 1.3、编译 2 1.4、安装: 2二、Apache与mod_ssl的安装 3 2.1、所需资源 3 2.1.1、下载awk.exe 3 2.1.2、APACHE下载 3 2.1.3、mod_ssl的下载 3 2.2、配置MOD_SSL 3 2.3、编译apache 3 2.4、安装apache 3三、配置证书 4 3.1、生成自签名的证书 4 3.2、配置httpd.conf 4 3.3、测试 6四、配置客户端认证 6 4.1 生成客户证书请求 6 4.2 客户证书的生成 6 4.3 生成PKCS#12格式的证书 6 4.4、将生成的zrh.p12导入IE 6 4.5、配置httpd.conf要求客户端认证 7 4.6、测试--一次真实的演示过程 7参考文献 11
---------------------------------------------------------------------------------------------------------------------- 一、OpenSSL的安装 1.1、下载OpenSSL 到OpenSSL的官方主页(http://www.openssl.org)去下载。 1.2、下载perl:http://aspn.activestate.com/ASPN/Downloads/ActivePerl/Download?OS=Windows&version=5.6.1&build=629\&download=/ActivePerl/Windows/5.6/ActivePerl-5.6.1.629-MSWin32-x86-multi-thread.msi 1.3、编译设置好环境变量c:\> cd d:\program files\Microsoft visual studio\vc98\binc:\> d:c:\> VCVARS32.BAT设置好perl所在路径如D:\Perl\bin\;cd openssl-0.9.6gperl Configure VC-WIN32ms\do_msnmake /f ms\ntdll.mak 1.4、安装:
二、Apache与mod_ssl的安装 2.1、所需资源 2.1.1、下载awk.exe到http://cm.bell-labs.com/cm/cs/awkbook/index.html下载awk95.exe,另存为awk.exe,设置好路径(拷到你的编译目录或者System32下,或其它能找到的地方),以便VC++可以找到。 2.1.2、APACHE下载 http://www.apache.org下载,并解压到F:\apache\1_3_28 2.1.3、mod_ssl的下载http://www.modssl.org下载,并解压到F:\apache\mod_ssl-2.8.15-1.3.28 2.2、配置MOD_SSLcd F:\apache\mod_ssl-2.8.15-1.3.28perl configure.pl --with-apache=f:\apache\1_3_28 --with-ssl=f:\opensslpro\openssl_0.9.6eh注意 这一步不要将mod_ssl的源代码和apache的源代码放在一个目录下,目录也尽量不要带空格。 2.3、编译apachecd F:\apache\1_3_28\srcnmake /f Makefile.win _apacher 2.4、安装apachenmake /f Makefile.win installr INSTDIR=f:\apache\1328f:\apache\1328是Apache的安装目录,可以根据自己的需要进行修改。 三、配置证书 3.1、生成自签名的证书
3.2、配置httpd.conf在194行加入模块加载指令LoadModule ssl_module modules/mod_ssl.so在246行加入AddModule指令与LoadModule对应AddModule mod_ssl.c278行加入要侦听的端口Listen 80Listen 443最后1035左右加入:虚拟主机及公钥和私钥的路径。
3.3、测试启动命令提示符窗口cd f:\apache\1328apache –D SSL 四、配置客户端认证所有的密码都默认为12345678 4.1 生成客户证书请求证书请求的名字为zrh.csr,私钥文件名为zrhkey.pem。CD f:\apache\1328\conf\sslF:\apache\1328\conf\ssl>openssl req -config openssl.cnf -new -out zrh.csr -keyout zrhkey.pem然后输入个人信息 4.2 客户证书的生成输入证书请求的名字为zrh.csr,生成的证书的名字为zrh.pem。CA证书的证书名字为ces-s.cert,私钥文件名为ces-s.keyF:\apache\1328\conf\ssl>openssl x509 -req -in zrh.csr -out zrh.pem -CA ces-s.cert -CAkey ces-s.key -CAcreateserial -days 365 -outform PEM到现在为止你就已经有了一个经CA签过名的证书zrh.pem和一个私钥zrhkey.pem 4.3 生成PKCS#12格式的证书为了在IE中更好的使用。F:\apache\1328\conf\ssl>openssl pkcs12 -export -in zrh.pem -out zrh.p12 -inkey zrhkey.pem -name "Zhang RongHua Cert"这一步将生公钥证书和私打包在一起的zrh.p12用户证书。 4.4、将生成的zrh.p12导入IE双击zrh.p12按提示进行,即可。如果没有必要不要选择强私钥保护,因为每一次使用私钥的时候都是让你确认一次。导入受信任的根证书ces-s.cert。 4.5、配置httpd.conf要求客户端认证……中间加入以下配置# enable client certificate requirementSSLVerifyClient requireSSLVerifyDepth 1SSLCACertificatePath conf\sslSSLCACertificateFile conf\ssl\ces-s.cert(为服务器证书/CA证书所在的目录) 4.6、测试--一次真实的演示过程一次真实的演示过程。打https://127.0.0.1点确定按钮点确定按钮选择一张证书,然后点确定按钮点详细信息点确定按钮点查看证书按钮,可以看证书的详细信息点确定按钮一次访问就成功了。(点击这里下载演示图片) 参考文献 1、Lajos Moczar mod_ssl安装说明 2、http://www.galatea.com/dist/configure.pl.txt 3、apache的安装文档 4、Rainbow(不经历风雨,怎么见彩虹) Apache的编译及安装过程.doc 5、OpenSSL的安装文档INSTALL.W32