歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux綜合 >> 學習Linux

apache+ssl+ca,apachessl

apache+ssl+ca,apachessl


熱度5 評論 43 www.BkJia.Com  網友分享於:  2017-02-21 04:02:41     浏覽數44286次

apache+ssl+ca,apachessl


第一步:搭建apache服務器,這在上篇博客中已經完成 http://www.cnblogs.com/sangmu/p/6422238.html 第二步:安裝ssl  
yum 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 谷歌浏覽器 環境中操作。

 

  

http://www.bkjia.com/Linuxjc/1194390.html TechArticle

Copyright © Linux教程網 All Rights Reserved