您的位置:首页 > 运维架构 > Apache

Windows2000_下_APACHE+OpenSSL+MOD_SSL_的安装

2015-01-07 11:04 260 查看
一、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\bin

c:\> d:

c:\> VCVARS32.BAT

设置好perl所在路径如D:\Perl\bin\;

cd openssl-0.9.6g

perl Configure VC-WIN32

ms\do_ms

nmake /f ms\ntdll.mak

1.4、安装:

copy out32dll\libeay32.dll c:\windows\system

copy out32dll\ssleay32.dll c:\windows\system

md c:\openssl

md c:\openssl\bin

md c:\openssl\lib

md c:\openssl\include

md c:\openssl\include\openssl

copy /b inc32\openssl\* c:\openssl\include\openssl

copy /b out32dll\ssleay32.lib c:\openssl\lib

copy /b out32dll\libeay32.lib c:\openssl\lib

copy /b out32dll\ssleay32.dll c:\openssl\bin

copy /b out32dll\libeay32.dll c:\openssl\bin

copy /b out32dll\openssl.exe c:\openssl\bin

二、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_SSL

cd F:\apache\mod_ssl-2.8.15-1.3.28

configure.bat --with-apache=f:\apache\1_3_28 --with-ssl=f:\opensslpro\openssl_0.9.6eh

注意 这一步不要将mod_ssl的源代码和apache的源代码放在一个目录下,目录也尽量不要带空格。

2.3、编译apache

cd F:\apache\1_3_28\src

nmake /f Makefile.win _apacher

2.4、安装apache

nmake /f Makefile.win installr INSTDIR=f:\apache\1328

f:\apache\1328是Apache的安装目录,可以根据自己的需要进行修改。

三、配置证书

3.1、生成自签名的证书

cd F:\apache\1328\conf

mkdir ssl

cd ssl

copy F:\OpenSSLPro\openssl-engine-0.9.6h\apps\openssl.cnf .

cd %APACHE_HOME%\conf\ssl

openssl req -config openssl.cnf -new -out ces-s.csr

openssl rsa -in privkey.pem -out ces-s.key

openssl x509 -in ces-s.csr -out ces-s.cert -req -signkey ces-s.key -days 365

del *.rnd(这一步没有)

3.2、配置httpd.conf

在194行加入模块加载指令

<IfDefine SSL>

LoadModule ssl_module modules/mod_ssl.so

</IfDefine>

在246行加入AddModule指令与LoadModule对应

<IfDefine SSL>

AddModule mod_ssl.c

</IfDefine>

278行加入要侦听的端口

<IfDefine SSL>

Listen 80

Listen 443

</IfDefine>

最后1035左右加入:虚拟主机及公钥和私钥的路径。

<IfDefine SSL>

AddType application/x-x509-ca-cert .crt

AddType application/x-pkcs7-crl .crl

</IfDefine>

<IfModule mod_ssl.c>

SSLPassPhraseDialog builtin

SSLSessionCache dbm:logs/ssl_scache

SSLSessionCacheTimeout 300

SSLMutex sem

SSLRandomSeed startup builtin

SSLRandomSeed connect builtin

SSLLog logs/ssl_engine_log

SSLLogLevel info

</IfModule>

<IfDefine SSL>

<VirtualHost _default_:443>

DocumentRoot "F:\apache\1328\htdocs"

ServerName 127.0.0.1

ServerAdmin you@your.address

ErrorLog logs/error_log

TransferLog logs/access_log

SSLEngine on

SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

SSLCertificateFile F:\apache\1328\conf\ssl\ces-s.cert

SSLCertificateKeyFile F:\apache\1328\conf\ssl\ces-s.key

<Files ~ "\.(cgi|shtml|phtml|php3?)$">

SSLOptions +StdEnvVars

</Files>

<Directory "F:\apache\1328\cgi-bin">

SSLOptions +StdEnvVars

</Directory>

SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0

CustomLog logs/ssl_request_log "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"

</VirtualHost>

</IfDefine>

3.3、测试

启动命令提示符窗口

cd f:\apache\1328

apache –D SSL

四、配置客户端认证

所有的密码都默认为12345678

4.1 生成客户证书请求

证书请求的名字为zrh.csr,私钥文件名为zrhkey.pem。

CD f:\apache\1328\conf\ssl

F:\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.key

F:\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要求客户端认证

<VirtualHost _default_:443>……</VirtualHost>中间加入以下配置

# enable client certificate requirement

SSLVerifyClient require

SSLVerifyDepth 1

SSLCACertificatePath conf\ssl

SSLCACertificateFile conf\ssl\ces-s.cert(为服务器证书/CA证书所在的目录)

4.6、测试--一次真实的演示过程

一次真实的演示过程。

打https://127.0.0.1

点确定按钮

点确定按钮

选择一张证书,然后点确定按钮

点详细信息

点确定按钮

点查看证书按钮,可以看证书的详细信息

点确定按钮

一次访问就成功了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: