一,首先切換到apache目錄下,建立乙個ca資料夾
sudo mkdir ca
sudo chmod 777 ca
二,然後進去ca資料夾
cp ca
三,建立其它檔案
mkdir democa四,輸入「openssl genrsa -out server.key 1024」,生成**伺服器公鑰檔案server.key。mkdir democa/newcerts
mkdir democa/private
touch democa/index.txt
echo "01" >> democa/serial
輸入openssl req -new -out server.csr -key server.key(common name為要申請網域名稱證書的網域名稱)
輸入「openssl genrsa -out ca.key 1024」,生成ca私鑰檔案ca.key。
輸入「openssl req -new -x509 -days 365 -key ca.key -out ca.crt」,生成ca證書。
輸入「opensslca
-in server.csr -out server.crt -cert ca.crt -keyfile ca.key
」,之後會在bin目錄下面看到多了乙個server.crt檔案,
這就是簽名以後的伺服器證書。
開啟瀏覽器把ca的證書(ca.crt)匯入瀏覽器。
五,生成
client.key
openssl
genrsa -out client.key 1024
生成客戶證書
client.crt
openssl req -new -key client.key -out client.csr
將client.crt轉換為 .pfx 格式的證書
openssl x509 -req -days 365 -ca ca.crt -cakey ca.key -cacreateserial -in client.csr -out client.crt
將client.crt轉換為 .pfx 格式的證書
openssl pkcs12 -export -clcerts -in client.crt -inkey client.key -out client.p12
雙擊client.p12將其匯入瀏覽器。
六,配置httpd.conf
loadmodule
ssl_module modules/mod_ssl.so
[html]view plain
copy
serveradmin crm.xiaolong.com
documentroot /var/www
loglevel warn
errorlog /var/log/apache2/error.log
customlog /var/log/apache2/ssl_access.log combined
[html]view plain
copy
sslengine on
sslcertificatefile /etc/apache2/ca/server.crt
sslcertificatekeyfile /etc/apache2/ca/server.key
sslcacertificatefile /etc/apache2/ca/ca.crt
sslverifyclient require
sslverifydepth 10
virtualhost>
到這裡就配置完成了,重啟apache就可以訪問
**:
Linux SSL 雙向認證 淺解
請求方的操作 此步驟是為了驗證ca的發證過程。1 生成私鑰 openssl genrsa 1024 private.key 生成私鑰並儲存到private.key檔案中 或者openssl genrsa out private.key 1024 1024 表示生成1024位的密碼 從私鑰中生成公鑰 ...
雙向認證 什麼是單向認證和雙向認證?
雙向認證 ssl 協議要求伺服器和使用者雙方都有證書。單向認證 ssl 協議不需要客戶擁有ca證書,具體的過程相對於上面的步驟,只需將伺服器端驗證客戶證書的過程去掉,以及在協商對稱密碼方案,對稱通話金鑰時,伺服器傳送給客戶的是沒有加過密的 這並不影響 ssl 過程的安全性 密碼方案。這樣,雙方具體的...
ssl雙向認證
ssl雙向認證 ca.key 根證書的私鑰 ca.crt 根證書的簽名證書 server.key,server.crt client.key,client.crt 1 openssl ca.key,ca.crt 2 openssl server.key server.csrserver.crt 3 ...