SSL原理及應用(2)配置HTTPS
HTTPS(Hypertext Transfer Protocol over Secure Socket Layer),是以安全為目標的HTTP通道,簡單講是HTTP的安全版。即在HTTP下加入SSL層,HTTPS的安全基礎是SSL。它是一個URI scheme(抽象標識符體系),句法類同“http:體系”。用於安全的HTTP數據傳輸。“https:URL”表明它使用了HTTP,但HTTPS存在不同於HTTP的默認端口及一個加密/身份驗證層(在HTTP與TCP之間)。這個系統的最初研發由網景公司進行,提供了身份驗證與加密通訊方法,現在它被廣泛用於萬維網上安全敏感的通訊,例如交易支付方面。簡單的HTTPS通信過程如圖所示。
HTTPS基本通信流程
但是對於Web服務器而言,想要支持HTTPS通信,必須要從證書服務器下載並安裝證書。服務器可以從證書提供商或者自己搭建的證書服務器獲取證書。下面以IIS為例,為Web通信添加HTTPS支持。
配置IIS5.0/IIS6.0支持HTTPS
步驟1 進入網站屬性選擇目錄安全性,單擊服務器證書,然后單擊下一步,如圖8-7所示。
圖8-7打開服務器證書向導
步驟2 選擇指派證書的方法。
這里選擇新建證書,然后單擊下一步。如圖8-8所示。
圖8-8 擇指派證書方法
步驟3 延遲請求證書,如圖8-9所示。
圖8-9 延遲請求證書
步驟4 輸入證書名稱和密鑰長度。
如果勾選“選擇證書的加密提供程序”會出現當前系統提供的加密提供程序供我們選擇,如果不選擇是默認。如圖8-10所示。
圖8-10 輸入證書名稱和密鑰長度
步驟5 設置站點的公用名稱,如圖8-11所示。
圖8-11 設置站點公用名稱
步驟6 設置證書頒發機構的基本信息。如圖8-12所示。
圖8-12 設置證書頒發機構信息
步驟7 這是關鍵的一步,把前幾步設置的基本信息合並成證書請求文件,用於從證書服務器請求證書。如圖8-13、圖8-14所示。
圖8-13 填寫證書請求文件名
圖8-14 生成證書請求文件
步驟8 完成向導,如圖8-15所示。
圖8-15 完成證書向導
步驟9 從證書提供商的服務器申請證書。
圖8-16為某提供商要求輸入的基本信息。這一步會要求我們輸入第7步中生成的證書請求文件的內容。
圖8-16 申請證書
步驟10 根據提示下載證書。
步驟11 繼續配置IIS下的證書,進入網站屬性的目錄安全性,單擊服務器證書。選擇“處理掛起的請求並安裝證書”。如圖8-17所示。
圖8-17 處理掛起的請求
步驟12 載入我們下載的證書,如圖8-18所示。
圖8-18 載入證書
步驟13 指定網站的SSL端口。
默認的SSL端口為443,不需要更改。如圖8-19所示。
圖8-19 指定SSL端口
步驟14 安裝證書。如圖8-21所示。
圖8-20 安裝證書
步驟15 對需要啟用HTTPS訪問的站點啟用SSL安全通道。依次進入網站屬性→目錄安全性→編輯,然后在圖8-21所示的對話框中啟用SSL。
圖8-21 對網站啟用SSL
注意勾選“要求128位加密”時,如果瀏覽器不支持該加密方式將無法訪問。
至此,IIS已經完全支持HTTPS的加密連接的訪問。
配置IIS7支持HTTPS
IIS7中的配置過程和IIS5/IIS6略有不同,但是更為簡潔。
步驟1 獲取服務器證書。過程和IIS6基本相同,不再贅述。
步驟2 打開IIS服務管理器,單擊計算機名稱,雙擊打開右側的服務器證書圖標,如圖8-22所示。
圖8-22 打開服務器證書管理項
步驟3 雙擊打開服務器證書后,單擊右側的完成證書申請,如圖8-23所示。
圖8-23 打開完成證書申請
步驟4 導入我們申請的證書,並指定一個好記的名稱(可選),單擊確定。如圖8-24所示。
圖8-24 導入證書
步驟5 單擊網站下的站點名稱,單擊右則的綁定,如圖8-25。彈出網站綁定對話框,單擊添加按鈕,如圖8-26。
圖8-25 選擇網站
圖8-26 添加綁定
步驟6 添加網站綁定內容:選擇類型為https,端口443和指定對應的SSL證書,單擊確定。如圖8-27。添加完成后如圖8-28所示。
圖8-27 添加綁定內容
圖8-28 網站綁定信息
按照以上步驟配置完成后,站點就支持https://*的方式訪問了。
1) 下面我們配置網站“要求SSL”。
2) 在網站的功能視圖,雙擊“SSL”設置。
3) 在“SSL 設置”頁上,選擇“要求SSL”。
4) 在“操作”窗格中,單擊“應用”。如圖8-29所示。
圖8-29 要求使用SSL
在圖8-29中,我們可以看到這里有關於客戶證書的選項,通過這個選項我們可以忽略、接受或者必須要求提供客戶證書。
若要禁用客戶端證書,只需在圖8-29的界面上去掉“要求SSL”的選項即可。
---------------------注:本文部分內容改編自《.NET 安全揭秘》