CetnOS Apache的SSL雙向認證

實驗環境:

服務器:CentOS 6.5

客戶端: Windows XP


一:建立機構證書

1:編輯openssl文件

# vim /etc/pki/tls/openssl.cnf 

dir=../../CA

改爲

dir=/etc/pki/CA

ountryName             = match
stateOrProvinceName     = match
organizationName        = match

改爲

ountryName             = optional
stateOrProvinceName     = optional
organizationName        = optional


作用是不用匹配國家、省份、城市照樣能使用證書服務器,否則申請證書必須跟CA證書在同一個國家、身份、城市,才能申請證書。


2.創建配置文件所需的目錄和文件。


#cd /etc/pki/CA

#mkdir certs crl newcerts

#touch index.txt

#echo "01" < serial


3.CA服務器機構自簽證書


生成私鑰

# openssl genrsa 1024 > private/cakey.pem

生成證書

# openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650


二.簽發服務器、客戶端證書


服務器和客戶端證書統一放到 /CA


服務器證書:


# mkdir /CA

# cd /CA

# openssl genrsa 1024 > server.key                    #證書私鑰文件

# openssl req -new -key server.key -out server.csr    #證書申請文件

# openssl ca -in server.csr -out server.crt           #生成證書文件


客戶端證書:

# openssl genrsa 1024 > client.key                    #證書私鑰文件

# openssl req -new -key client.key -out client.csr    #證書申請文件

# openssl ca -in client.csr -out client.crt           #生成證書文件


將客戶端證書轉換成客戶端可識別的證書格式,轉換後會提示鍵入私鑰密碼,客戶端導入此證書時會用到

# openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.pfx



三:apache的ssl設置


安裝apache的ssl模版文件

# yum install mod_ssl


編輯ssl的模版文件

# vim /etc/httpd/conf.d/ssl.conf 


https頁面的主目錄直接使用默認目錄

DocumentRoot "/var/www/html"
ServerName www.51cto.com:443


SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCACertificateFile /etc/pki/tls/certs/ca-bundle.crt

改成

SSLCertificateFile /CA/server.crt
SSLCertificateKeyFile /CA/server.key
SSLCACertificateFile /etc/pki/CA/cacert.pem

並開啓

SSLVerifyClient require
SSLVerifyDepth  10


在目錄下創建一個主頁文件

# echo "this is ssl page" > /var/www/html/index.html


#service httpd restart


四:將客戶端證書拷到客戶端中並導入證書


wKioL1PlrXuhexLXAASmdSXWpPc974.jpg


wKioL1PlrXzSO5W8AAOFDDFiZXg189.jpg


這裏填寫導出客戶端證書時設置的私鑰密碼


wKiom1PlrGOjPbqTAAPwWxIhTDA453.jpg


wKiom1PlrGPAsi_QAAQ7P6gwkME201.jpg


wKioL1PlrXzxGFdxAAROUMmiUy8714.jpg


wKiom1PlrGTRtwHVAASvCLA90eA091.jpg


測試

先改一下hosts的解析文件


wKioL1PlrijjLRrTAAO_veBZ7Vc696.jpg


wKiom1PlrXix45WyAAQx3ApT_ks242.jpg


wKioL1PlrpHRWOtcAAQjQcBQm34849.jpg


wKioL1PlrpGSalQpAASYz0foD9A593.jpg


wKiom1PlrXixbpWiAAHzO_W_x_g891.jpg





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章