在IIS7中,HTTP.sys在內核模式下操作SSL加密解密,相對于IIS6,這種方式能提高近20%的性能。
當SSL運行于內核模式時,會將SSL綁定信息保存在兩個地方。第一個地方,綁定配置保存在%windir%/System32/inetsrv/config/applicationHost.config中,當站點啟動時,IIS7發送綁定信息給HTTP.sys,同時HTTP.sys會在特定的IP和端口監聽請求。第二個地方,與綁定相關聯的SSL配置保存在HTTP.sys配置中。使用netsh命令可以查看保存在HTTP.sys的SSL綁定配置:
netsh http show sslcert
當一個客戶開始連接并初始化SSL協商時,HTTP.sys在它的配置中查找這個IP:Port對應的SSL配置。這個SSL配置必須包括證書hash值和名稱:
l 在ApplicationHost.config中確認這個綁定是否存在
l HTTP.sys中是否包含有效證書的hash值以及命名是否存在
選擇證書時,需要考慮以下問題:
是否想讓最終用戶能夠通過你提供的證書確認你服務器的唯一性?
如果是的,則
要么建立一個證書請求,并且發送證書請求到證書權威機構(CA),比如VeriSign或者GeoTrust;
要么從Intranet的在線CA那里獲取一個證書
瀏覽器一般用三樣東西來確認服務器證書的有效性:
1. 當前日期在證書的有效期范圍內
2. 證書的“Common Name”(CN)與請求中的主機名相匹配。比如,如果客戶發起了一個到的請求,則CN必須是這樣的:
3. 證書的發行者是已知的和受到信任的CA
如果其中有1項失敗,瀏覽器就會警告用戶。如果你有個Internet站點或者你不怎么熟的Intranet用戶,那你就需要確保這3項是都通過的。
自簽名的證書可以用你自己的計算機創建。如果最終用戶不重要,或者他們信任你的服務器,又或者用于測試環境,則這種自簽名證書將會非常有用。
Ø 使用WMI來綁定SSL證書
使用WMI命名空間,是不能夠請求或者創建證書。
建立SSL綁定
以下腳本展示了如何建立SSL綁定,以及添加相應信息到HTTP.sys中:
獲取一個證書
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
單擊Create Self-Signed Certificate…按鈕:
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
輸入新證書的名字后單擊OK。
現在你有了一個自簽名證書。這個證書被標記為”服務器端驗證”
建立SSL綁定
選擇一個站點,在Actions面板中單擊Bindings…。會顯示出添加、修改、刪除綁定對話框。單擊Add…按鈕添加新的SSL綁定。
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
默認設置是80端口,在類型下拉框中選擇https,在SSL Certificate下拉框中選擇你剛才建立的自簽名證書名字,單擊OK。
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
現在你已經完成SSL綁定的建立工作了,剩下的就是要確認是否工作正常了。
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
Ø SSL綁定的確認
在Actions面板中,在Browse web site下,單擊剛才增加的綁定
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
由于這個證書是個自簽名的證書,IE7會顯示一個錯誤頁面。
單擊Continue to this website(not recommended).繼續
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()
Ø 配置SSL設置
當你要求用戶必須使用證書,又或者必須SSL方式連接時,你需要配置SSL設置。雙擊SSL Settings如下圖:
![IIS7下配置SSL的方法分析 IIS7下配置SSL的方法分析]()