詳解 Windows下apache 實現 SSL

 
SSL:安全套接層,是netscape公司設計的主要用於web的安全傳輸協議。這種協議在WEB上得到了普遍的應用。經過證書認證來確保客戶端和網站服務器之間的數據是安全,過程大體以下:
SSL客戶端在TCP鏈接創建以後,發出一個消息給服務器,這個消息裏面包含了本身可實現的算法列表和其它一些須要的消息,SSL的服務器端會迴應一個數據包,這裏面肯定了此次通訊所須要的算法,而後發過去本身的證書(裏面包含了身份和本身的公鑰)。Client在收到這個消息後會生成一個祕密消息,用SSL服務器的公鑰加密後傳過去,SSL服務器端用本身的私鑰解密後,會話密鑰協商成功,雙方能夠用同一份會話密鑰來通訊了。
若是對於通常的應用,管理員只需生成證書請求(後綴大多爲.csr),它包含你的名字和公鑰,而後把這份請求交給諸如verisign等有CA服務公司,你的證書請求經驗證後,CA用它的私鑰簽名,造成正式的證書發還給你。管理員再在web server上導入這個證書就好了。若是你不想花那筆錢,或者想了解一下原理,能夠本身作CA。從ca的角度講,你須要CA的私鑰和公鑰。從想要證書的服務器角度將,須要把服務器的證書請求交給CA.
若是你要本身作CA,別忘了客戶端須要導入CA的證書(CA的證書是自簽名的,導入它意味着你信任這個CA簽署的證書)。而商業CA的通常不用,由於它們已經內置在你的瀏覽器中了。
實現HTTPS,經我我的測試,每一個版本實現的細節都有所不一樣,但我的認爲最爲簡單的仍是apache_ 2.2.8 -win32-x86-openssl-0. 9.8g   那麼我下面就以這個版原本介紹一下如何實現基於windows下的https.
思路:
1 配置 apache 以支持 SSL
2 爲網站服務器生成私鑰及申請文件
3 安裝CA 使用兩種方法
4.經過CA爲網站服務器簽署證書
5.測試
 
步驟1:配置 APACHE以支持SSL
LoadModule ssl_module modules/mod_ssl.so
 Include conf/extra/httpd-ssl.conf
去掉兩行前面的#
 
步驟2 爲網站服務器生成證書及私鑰文件
生成服務器的私鑰
C:\Program Files\Apache Software Foundation\Apache2.2\bin>openssl genrsa -out server.key 1024
生成一個 server.key
生成簽署申請
C:\Program Files\Apache Software Foundation\Apache2.2\bin>openssl req -new –out server.csr -key server.key -config ..\conf\openssl.cnf
此時生成簽署文件   SERVER.CSR
 
步驟 3
CA 方面:
應該是一個專門的 CA 機構,咱們這裏就本身在同一臺機器搭建一個企業內部 CA
這裏能夠直接使用商業 CA ,但要交納必定的費用,咱們來本身動手搭建一個企業內部 CA
咱們這裏介紹兩種方法,一種是使用 OPENSSL 另外一種是使用 WNDOWS 系統自帶的 CA 服務。
咱們先看第一種方法,使用 OPENSSL
生成 CA 私鑰
C:\Program Files\Apache Software Foundation\Apache2.2\bin>openssl genrsa  -out ca.key 1024
多出 CA.key 文件
利用 CA 的私鑰產生 CA 的自簽署證書
C:\Program Files\Apache Software Foundation\Apache2.2\bin>openssl req  -new -x509 -days 365 -key ca.key -out ca.crt  -config ..\conf\openssl.cnf
此時生成了一個本身的證書文件, CA 就能夠工做了,等着生意上門了。
下面準備爲網站服務器簽署證書
C:\Program Files\Apache Software Foundation\Apache2.2\bin>openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config ..\conf\openssl.cnf
但,此時會報錯:
因此咱們須要先建立如下文件結構用於存放相應文件
再執行一遍,便可生成   server.crt 文件
而後將   server.crt    server.key 複製到   conf 文件夾下
從新啓動 APACHE 便可!
但要在 IE 中導入 CA 的證書,不然會報告證書不可信任!
實驗終於 OK !!
 
固然也可使用 WINDOWS 的證書服務來爲網站服務器簽署證書:下面咱們就來看一看:
安裝成功後會在默認站點下生成certsr慮擬目錄
下面咱們開始簽署過程
先中止 APACHE ,由於 80 口在佔用。開啓 IIS 的默認網站
而後選擇高級證書申請
 
而後開始頒發便可:
而後再將   server.key 也複製到 conf 文件夾下。
從新啓動 APACHE ,便可!
 
步驟 4 從新啓動 APACHE 便可!
 
到此,實驗終於結束了.兩天的時間,終於能夠放鬆一下了!!!!!!!
相關文章
相關標籤/搜索