apache+ssl+ca,apachessl
apache+ssl+ca,apachessl
第一步:搭建apache服务器,这在上篇博客中已经完成 http://www.cnblogs.com/sangmu/p/6422238.html 第二步:安装sslyum install mod_ssl -y iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT service iptables save
1 vim /etc/httpd/conf.d/ssl.conf 2 3 Listen 443 //监听的端口号 4 <VirtualHost _default_:443> // 配置虚拟主机,如果仅仅只是对一个网站加密,则将default改成域名 5 DocumentRoot "/var/www/html" //网页文件所在目录 6 ServerName www.example.com:443 // 加密网站域名 7 SSLEngine on // 开启ssl 8 SSLCertificateFile /etc/httpd/conf/ssl.crt/test.crt //www服务器证书位置 9 SSLCertificateKeyFile /etc/httpd/conf/ssl.key/test.key //www服务器秘钥位置 10 SSLCACertificateFile /etc/pki/CA/ca.crt //CA服务器证书位置 11 SSLVerifyClient require //是否开启双向认证,开启后 要求浏览器客户端,必须有CA颁发的证书 12 SSLVerifyDepth 10 //双向验证层数至此,ssl安装完成。 第三步:安装CA ①安装ca
yum install openssl -y vim /etc/pki/tls/openssl.cnf
1 dir = /etc/pki/CA //目录 2 certs = $dir/certs // 颁发证书位置 3 crl_dir = $dir/crl //吊销证书位置 4 database = $dir/index.txt //索引表 5 new_certs_dir = $dir/newcerts //新证书位置 6 certificate = $dir/ca.crt //自己证书位置 7 serial = $dir/serial //证书序列号 8 crlnumber = $dir/crlnumber //证书吊销列表 9 private_key = $dir/private/ca.key //秘钥位置 10 countryName = optional 11 stateOrProvinceName = optional 12 organizationName = optional 13 organizationalUnitName = optional②创建目录和文件
cd /etc/pki/CA mkdir certs newcerts crl touch index.txt serial echo 01 > serial //导入初始序列号③生成ca秘钥
umask 077;openssl genrsa -out private/ca.key 2048注: umask 077 //设置生成文件的权限 genrsa //生成私钥 -out //私钥存放路径 2048 //2048字节计算 ④给ca颁发自己的证书ca.crt
1 openssl req -x509 -new -key private/ca.key -out ca.crt -days 365 2 Country Name (2 letter code) [GB]:CN //国家 3 State or Province Name (full name) [Berkshire]:JS //省份 4 Locality Name (eg, city) [Newbury]:NT //地区 5 Organization Name (eg, company) [My Company Ltd]:NTZD //组织名 6 Organizational Unit Name (eg, section) []:DZX //部门 7 Common Name (eg, your name or your server's hostname) []:test4.sangmu.com //域名 8 Email Address []:root //邮箱第四步:apache 申请证书和秘钥 ①创建目录和文件
cd /etc/httpd/conf mkdir ssl.key ssl.crt②生成秘钥
umask 007;openssl genrsa -out ssl.key/test.key 2048③填写证书申请请求
umask 007;openssl genrsa -out ssl.key/test.key 2048
第五步:颁发申请
openssl ca -in test.csr -out test.crt -days 100重启服务,这个时候,在客户端可以进行加密访问了。
如果开启双向认证,则需要给浏览器客服端颁发证书 ①生成client秘钥client.key
umask 077;openssl genrsa -out client.key 2048②填写证书生成请求client.csr
openssl req -new -key client.key -out client.csr③颁发client证书 client.crt
openssl ca -in client.csr -out client.crt -days 100④client证书格式转换
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12⑤在client端安装ca根证书ca.crt和clien证书client.p12
至此就完成了双向验证 注:本次实验是在centos5.5+Windows 7 谷歌浏览器 环境中操作。
评论暂时关闭