在配置IIS的HTTPS和IE客戶端的證書時,我們經常出錯,本文就是通過在實際生產環境中配置SSL的過程,讓您看看您可能會錯在哪里?
當我們在企業需要WEB發布較為保密的數據時,我們一般把IIS 配置成HTTPS的模式。同時,如果我們只希望企業內部人員進行訪問而又不希望進行登錄時,我們可以在客戶端上配置“瀏覽器證書”(根CA)或“用戶證書”(企業CA),具體的做法可以分為如下幾步:
1、通過Windows 2003 安裝 證書CA服務器 功能。
在這一步容易出錯的主要是,安裝CA證書服務時,沒有安裝同步安裝CA服務器的IIS功能,這樣會導致無法通過瀏覽器來訪問,
即: http://CA_Server/CertSRV,打不開。
解決辦法是通過命令行
"certutil -vroot"
就可以自動給IIS安裝上相應的WEB功能,以給其它機器提供CA服務。
2、 通過WEB服務器的IIS里的證書申請功能,向CA申請一個服務器證書,其作用是“驗證遠程服務器的身份”。
在一步容易出錯的主要問題是,在申請證書時通用名稱或是好記的名稱里,我們要加上WEB服務器的URL,最好內部URL和外部URL要相同,如:www.boc.cn
3、申請完畢后在IIS中安裝,只要“目錄安全性”的證書框中點擊“編輯”勾上“要求安全通道(SSL)”,就OK了。
這一步容易出錯的是,如何在生產環境中,CA服務器和WEB服務器不是同一台機器,必須讓WEB服務器和客戶端的PC機都“信任”CA服務器,可以通過在WEB服務器或是PC機客戶端中訪問CA的WEB
http://CA_Server/CertSRV/Certcarc.asp
中的“請安裝CA證書鏈”,來完成。
4、客戶端訪問CA的WEB完成如下步:申請“WEB瀏覽器證書”或是“用戶”證書-到CA服務器用MMC頒布-客戶端通過IE再安裝證書。
填寫:大家怕錯都會填上國家什么的,其實只要寫一個姓名,就好。
類型:在訪問CA的WEB申請時,最好,打開“更多選擇”和“高級證書申請”,“好記的名稱”一欄填上WEB服務器的URL,如www.boc.cn
請注意:在申請的時候就要決定這個證書的私鑰是不是可以導出的。所以,如果這個證書,你希望別人也用,那么你申請時就要勾上這個選項,否則只能重申請。
5、在WEB服務器的IIS中,勾上“要求客戶端證書”,就可以實現雙向的SSL認證了。
在測試環境是這樣,但是生產環境,客戶端IE總是顯示SSL服務器認為“證書吊銷”的錯誤。
大家都認為,只要客戶端證書與服務器證書的頒發機構是一樣的, 就OK了。 其實大家都錯了。
一旦打上了這個勾,一定一定要請你確認你客戶端證書內的“CRL分發點”字段,內有2個URL,起碼有一個URL對於開啟SSL的IIS來說是可以訪問的。
在生產環境,CA和SSL WEB不總是在一起,並且由於DNS和內部名稱的關系,這個“CRL分發點”URL對於IIS服務器來說,並不是可以訪問的。
所以80%的SSL問題其實是由於這個URL對於IIS來說訪問不了。
最后,如果你是初學者還沒有碰到這個問題,請你先先看看下面的文章,如何碰到問題,再來看看本文。
IIS客戶端證書訪問配置 http://www.cnblogs.com/chnking/archive/2008/08/18/1270063.html
和如何在客戶端使用證書連接WEB服務器,有了相當詳細的教程。然而,在企業實際的生產網絡中