szgzwf

http://www.etsec.com.cn

导航

FreeBSD下Nginx配置ssl-自建CA给网站签发SSL证书

1、受浏览器信任的Entrust SSL证书:它的根证书很久之前就被一些具有开源背景的浏览器支持(Firefox浏览器、谷歌Chrome浏览器、苹果Safari浏览器等)。

 

2、自行颁发不受浏览器信任的SSL证书:

步骤如下:(环境:freebsd-7.4/nginx-0.8.55)

freebsd默认已安装openssl,nginx只需在./configure时添加 --with-http_ssl_module 就可以支持SSL了

签署CA根证书:

1.mkdir /data/soft/nginx/conf/ssl.crt 2.cd /data/soft/nginx/conf/ssl.crt 3.cp /usr/local/openssl/misc/CA.sh . 4.======================================================================== 5.ee /etc/ssl/openssl.cnf 6.修改如下: 7.default_days    = 3650 8.default_crl_days= 3 9.default_md      = md5 10.default_bits            = 2048 11.countryName_default             = CN 12.stateOrProvinceName_default     = Beijing 13.localityName_default            = Beijing 14.0.organizationName_default      = 92csz 15.#organizationName               = Second Organization Name (eg, company) 16.#organizationName_default       = World Wide Web Pty Ltd 17.========================================================================= 18.ee /data/soft/nginx/conf/ssl.crt/CA.sh 19.修改如下: 20.CADAYS="-days 3650" # 10 years (CA证书的有效时间) 21.========================================================================= 22.生成CA证书: 23../CA.sh -newca 24.chmod -R 700 /data/soft/nginx/conf/ssl.crt/demoCA/private/

签署服务器证书:

1.ee /etc/ssl/openssl.cnf 2.修改如下: 3.default_days    = 3650(服务器证书的有效时间) 4.========================================================================= 5.生成服务器私钥: 6.openssl genrsa -out server.key 2048 7.生成服务器证书请求: 8.openssl req -new -key server.key -out server.csr 9.输入相关信息 10.========================================================================= 11.mv server.csr newreq.pem 12../CA.sh -sign 13.mv newcert.pem server.crt

颁发用户证书:

1.ee /etc/ssl/openssl.cnf 2.修改如下: 3.default_days    = 14(用户证书的有效时间) 4.========================================================================= 5.生成客户私钥: 6.openssl genrsa -out client.key 2048 7.生成客户证书请求: 8.openssl req -new -key client.key -out client.csr 9.签署客户证书: 10.openssl ca -in client.csr -out client.crt 11.把证书格式转换成pkcs12格式 12.openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx

nginx配置如下:

1.server   2.{   3.    listen 443 ssl;   4.    server_name  www.etsec.com.cn;   5.    indexindex.html index.php;   6.    root  /data/www/www.etsec.com.cn;   7.    ssl_certificate ssl.crt/server.crt;   8.    ssl_certificate_key ssl.crt/server.key;   9.    ssl_client_certificate ssl.crt/demoCA/cacert.pem;   10.    ssl_verify_client on;   11.    ssl_session_cache shared:SSL:8m;   12.    ssl_session_timeout 5m;   13.    location ~ \.php$   14.    {   15.        fastcgi_pass 127.0.0.1:9000;   16.        fastcgi_index index.php;   17.        include fastcgi.conf;   18.    }   19.} 

这样就配置好了,把生成的客户端证书下载下来,在客户机安装。 当我们在浏览器访问https://www.etsec.com.cn的时候,会提示即将通过安全连接查看网页,点击确定会提示选择证书,选择刚安装的证书就可以正常浏览页面了 注意:不受信任的自签署SSL证书,只能在IE内核的浏览器使用,仅测试IE6,IE7,360浏览器等可正常使用,如果想让所有浏览器都支持的话,可以使用收费的 Entrust ssl证书

本文地址:http://www.etsec.com.cn/ssl/ssl-29.html 如非注明则为本站原创文章,欢迎转载。

posted on 2012-11-24 19:24  szgzwf  阅读(470)  评论(0)    收藏  举报