心有多大舞台便有多大

Embrace changes, pursue excellence, share niceness.

apache2.2中配置ssl

一.首先要安装好openssl
    下载openssl:
     wget http://www.openssl.org/source/openssl-0.9.8a.tar.gz
     ./configure --prefix=/usr/local/openssl
     make
     sudo make install
     也可以直接用apt安装:
      sudo apt-get install openssl libssl-dev
      注意一定要安装openssl的开发库,否则编译apache的时候会报错误,不能编译ssl的.
二.编译安装apache
     这里不多说了,主要是configure的时候加上ssl的选项

三.创建ssl所需要的证书
(这里所有的文件都是创建在/etc/httpd目录中)
1.创建key文件:
sudo openssl genrsa -des3 -out server.key 1024
执行完后应该在当前目录中有一个server.key文件


2.查看创建的key文件:(不是必须)
openssl rsa -noout -text -in server.key
3.创建pem文件:(不是必须)
sudo openssl rsa -in server.key -out server.key.unsecure
4.创建scr文件:
sudo openssl req -new -key server.key -out server.csr
执行完后应该在当前目录中有一个server.csr文件
5.创建crt文件:
sudo openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
执行完后应该在当前目录中有一个server.crt文件

四.修改apache的ssl配置文件
1.修改httpd.conf
在文件中找到下面一行,把注释去掉
#Include conf/extra/httpd-ssl.conf
2.修改httpd-ssl.conf
在extra目录中,修改ssl的配置文件
找到SSLCertificateFile和SSLCertificateKeyFile的配置,修改文件路径到上面创建的目录

五.启动apache
sudo /usr/local/apache/bin/apachectl start
这时应该要求你回答证书密钥,回答后即可启动
打开浏览器测试下吧!这时候应该能以https访问你的站点了.

但这时,是所有的用户都可以访问你的https站点的,如果你希望只有认证的用户才能访问的话,请继续下面的配置!


六.创建认证客户所需要的证书
1.创建用户的key文件:
sudo openssl genrsa -des3 -out client.key 1024
2.创建用户的crt证书文件:
 sudo openssl req -new -x509 -days 3650 -key client.key -out client.crt
修改SSLCACertificateFile的文件路径
3.创建访问用户的csr文件:
sudo openssl req -new  -out pony.csr
4.创建访问用户的crt证书文件:
sudo openssl x509 -req -in pony.csr -out pony.crt -signkey client.key -CA client.crt -CAkey client.key -CAcreateserial -days 3650
5.导出为pfx证书:(ie中只能导入pfx证书)
sudo openssl pkcs12 -export -in pony.crt -inkey client.key -out pony.pfx
在你的测试机的ie中导入这个pfx证书
6.修改ssl配置文件:
在httpd-ssl.conf文件中找到SSLCACertificateFile的配置,然后修改文件路径为client.crt
把以下两行注释去掉:
SSLVerifyClient require
SSLVerifyDepth  10

重新启动apache,再次访问apache的时候,ie就会弹出窗口选择证书了.
that's all

(本文参考了CU的文章:http://www.chinaunix.net/jh/13/469276.html,非常感谢作者!)

 

posted on 2008-04-25 14:39 pony 阅读(3013) 评论(1)  编辑  收藏 所属分类: linux

评论

# re: apache2.2中配置ssl 2009-02-19 15:00 pony

今天下载试用天威诚信的ssl正式,收到邮件后把-----BEGIN CERTIFICATE----- -----END CERTIFICATE-----的内容拷贝到server.crt文件中,结果因为是用的editplus拷贝的,搞了半天apache都没有通过,后来发现要用记事本才可以!  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: