標籤:
SSl是為Http傳輸提供安全的協議,通過認證認證來確保用戶端和網站伺服器之間的資料是安全, 可以通過apache內建的openssl進行配置:
步驟如下:
1.安裝有openssl模板的apache,大多數都會有,判斷有沒有 只需要查看 apache\bin 下有沒有 openssl.exe 運行程式;
2.配置 apache/conf/httpd.conf 檔案,如下:
#LoadModule ssl_module modules/mod_ssl.so
#Include conf/extra/httpd-ssl.conf
去除這兩行前的#
3.配置 apache/conf/extra/httpd-ssl.conf 檔案,如下:
SSLCertificateFile "conf/ssl.crt/server.crt" (伺服器憑證的位置)
SSLCertificateKeyFile "conf/ssl.key/server.key" (伺服器私密金鑰的位置)
#SSLCACertificateFile "c:/Apache24/conf/ssl.crt/ca-bundle.crt" (CA根憑證的位置,進行用戶端驗證時需要)
#SSLVerifyClient require (去掉前面的‘#’號,進行用戶端驗證時需要)
#SSLVerifyDepth 10 (去掉前面的‘#’號,把10改為1,進行用戶端驗證時需要)
4.產生伺服器的私密金鑰
開啟cmd命令列 進入apache/bin目錄 執行 openssl genrsa -out server.key 1024 命令 在當前bin目錄下產生一個 server.key 私密金鑰檔案
5.產生簽署申請
在目前的目錄命令列下繼續執行 openssl req -new -out server.csr -key server.key -config ..\conf\openssl.cnf 命令 在當前bin目錄下產生一個 server.csr 簽署檔案
該過程將填入簽署檔案資訊 如國家 省份 城市地區 機構組織等 值得注意的一點是:Common Name 資訊必須要和是網站網域名稱或是IP地址與httpd.conf中的serverName一致。
6.產生CA私匙檔案
在目前的目錄命令列下繼續執行 openssl genrsa -out ca.key 1024 命令 在當前bin目錄下產生一個 ca.key 私密金鑰檔案
7.利用CA的私密金鑰產生CA的自簽署認證
在目前的目錄命令列下繼續執行 openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config ..\conf\openssl.cnf 命令 在當前bin目錄下產生一個 ca.crt 自簽署認證
該過程將填入簽署檔案資訊 如國家 省份 城市地區 機構組織等 值得注意的一點是:Common Name 資訊必須要和是網站網域名稱或是IP地址與httpd.conf中的serverName一致。(與步驟5一致)
8.CA為網站伺服器簽署認證
在目前的目錄命令列下繼續執行openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf 命令 在當前bin目錄下產生一個 server.crt 簽署認證檔案
這裡執行命令時會報錯,解決方案在當前檔案夾下(bin目錄)建立 demoCA 檔案夾, 在其中建立2個檔案和1個檔案夾: index.txt 空檔案 內容為01的無尾碼名serial檔案 和 newcert檔案夾 即可,重新運行命令便不會有錯了
9.移動檔案
將產生的 server.crt,server.key,ca.crt 檔案複製到 步驟3中所配置的檔案夾中
10.配置httpd.conf和httpd-ssl.conf檔案中的ServerName的訪問網域名稱 或 IP地址, 重啟apache服務
11.開啟IE,輸入https://網域名稱或IP地址:443的時候會彈出一個驗證認證的地方點擊取消發現沒能成功,原來還要產生一個 .pfx 的認證並匯入到IE中去。
在目前的目錄命令列下繼續執行 openssl pkcs12 -export -in ca.crt -inkey ca.key -out ca.pfx 在bin下面產生一個ca.pfx的檔案,中間有個輸入密碼的過程,要記住這個密碼。開啟IE瀏覽器-》工具-》Internet選項-》內容-》認證,按照提示匯入,這裡要輸入剛才產生 .pfx 過程中輸入的密碼。
以上內容借鑒 http://blog.csdn.net/decajes/article/details/41706739
http://www.jb51.net/article/23971.htm
本人菜鳥 有些地方不對請大神指出!
windows下apache配置ssl(https)伺服器