1. 程式人生 > >SSL證書申請 IIS設定 配置 攻略

SSL證書申請 IIS設定 配置 攻略

 我們都知道SSL加密通道, 走https通訊協議時, 會需要申請一個 SSL的憑證.網站在資料保護上會更安全。
    SSL憑證是可以自己簽發的, 在自家內部網路上用不成問題, 可以將自建的CA加入在公司內的電腦主機上, 但是在公眾網路上,瀏覽器沒有我們內建的CA時, 就會發生不信任警告, 而現在的瀏覽器更是主動直接拒絕連結, 需要使用者自行手動加入信任才行. 對於一般的應用上, 自行簽發的憑證真的不是很方便(雖然一樣可以用, 只是信任度就下降了, 不然何必要第三方公證單位的CA呢). 而一般的申請單位像是 Verisign 也都可以申請, 只是費用就不是市井小民負擔的起的。
    Startcom提供的線上申請SSL憑證, 十分方便而且實用.網站:
http://www.startssl.com/

    下面是申請教程,網上教程很亂,今天親測整理IIS上全部攻略。

=========下面是註冊賬號教程================

開啟http://www.startssl.com/由上角有個鑰匙符合標誌,點選進入申請登入賬戶。


之後出現三個功能, Authenticaion, Sign-up, express line,選擇 Sign-up。



填入基本資料後, 就可以利用 email 完成驗證身份的動作了.
這裡要注意的是:地址最好詳細到門牌號,否則不能通過驗證。
信箱也一定要寫正確,否則一會收不到驗證碼。


這個時候網頁不要關閉,去信箱檢視發給你的驗證碼。

填入驗證碼。


最近發現,填完驗證碼後出現:
Additional Verification Required
Your request for an account at StartSSL is being held up for a review by our personnel.
Please be patient as we review your request and wait for our response within the next six hours. Thank you for your understanding!
If you feel that this is a mistake from our side, please contact the CertMaster and report this incident.
需要人工稽核下。那就等下吧。
上次因為沒有寫具體門牌號,被人工拒絕過,要求回信給他們進行驗證。寫清楚詳細地址。

驗證通過後,會回信到你的信箱裡,裡面有個連結地址,把連結地址複製到瀏覽器,最好是IE瀏覽器哦。
別的瀏覽器有時候下載不下來證書。
如果貼上地址無效,要求輸入驗證碼,看信箱裡有個驗證碼。複製進去即可。

接下來要求儲存一個key證書,這個是以後登入該網站的憑證。
以後登入不需要輸入賬戶密碼,全憑該證書,所以要儲存並備份哦,否則就麻煩啦。


繼續點選


出現這個,OK.

自此,賬號申請完畢。

=========下面開始驗證域名=============

這時候。class1後面有個綠色的對號,說明我們能申請免費的SSL。


接下來在 control panel 上的 Validations Wizard進行web ssl申請,畫面如下:


continue 後,就可以輸入網域名稱了。
以gongzhe.org域名為例, 就是將尾域名設定為.org 前面輸入gongzhe即可, 如下:


再來他會進行域名名稱的whois查核, 並讓你選擇可驗證的email, 選定可以驗證為該域名擁有人的email驗證後, 系統會發出認證碼供確認, 並完成此項步驟.
(這裡要注意的是,如果是不常用的字尾或無法查詢域名WHOIS資訊的時候,必須使用該域名的企業郵局信箱驗證,可以建立postmaster或hostmaster或webmaster賬戶來建立企業郵局信箱才可以驗證)

我這裡查詢到了域名whois資訊裡的信箱,所以直接發了封信到我註冊域名的信箱裡。

不要關閉當前註冊頁面,到域名註冊信箱裡檢視驗證碼。


輸入驗證。成功了。

OK,當前域名就添加了進來。

===========下面開始申請證書===============
接下來就是SSL證書憑證申請了, 選擇 Certificates Wizard 中的 Web Server SSL/TLS Certificate 如下:


下一步是進 private key生成, 若自行由 web server 工具進行 CSR 匯出時, 可以skip跳過此步驟, 並由下一步將該 CSR 匯入即可, 若是要直接由線上產生, 就自行輸入大於10碼的密碼, 並選好加密強度後進行下一步:(這個密碼在生成證書的時候需要,很重要要記住哦。)


生成的private key檔案, 要用TXT記事本存下來哦, 畫面說明建議存為 ssl.key.  (這個私人金鑰一定要儲存下來哦,一會會用得到。存在電腦裡)


再來下一步選擇主域名:


填寫要申請的二級域名,然後繼續。這裡因為是免費的,所以二級網站要一個一個申請,如果想*.xxx.org都能用,要申請套餐CLASS2才行。輸入主機www後,預設的xxx.org也https使用協議。


提示成功,繼續。


接下來生成了個公鑰,這個也是網站證書。
這裡要說明的是,他提示你可以儲存為ssl.crt.就變成一個證書了,請以txt格式也儲存一份,方便以後使用,還要說明的是,一會伺服器上匯入證書的時候,不是隻匯入該證書,只匯入該證書網站網頁會無法訪問的。


然後提示你要升級到CLASS2,不用管她。

===========製作伺服器IIS上需要的證書==========

下面製作要匯入伺服器IIS上的證書。
點選控制面板的左上角的TOOL BOX,然後點選Create PKCS#12 (PFX) File,在Enter Private Key裡填寫最開始生成的個人金鑰,在Enter Certificate:裡填寫後來生成的公鑰!在Provide a password:  裡填入您生成金鑰的密碼!點選Continue後開始生成證書,然後提示您下載。


這裡要填寫的就是剛才儲存的2個檔案,一個個私人金鑰(提示可以儲存為ssl.key的那個),一個是公鑰(提示儲存ssl.crt變成證書的那個程式碼),然後輸入最早提示生成的密碼。


提示下載檔案,下載即可。字尾為.p12.儲存下來,這個才是匯入伺服器IIS的完整證書。


=========下面開始在伺服器上設定IIS,開啟SSL服務=============

申請通過並生成了.p12證書檔案後,就可以在Windows Server 2003中匯入了。
將剛才生成的P12證書FTP傳到伺服器上。

首先,開啟mmc控制檯(在“執行”對話方塊中輸入“mmc”,並按確定),並新增管理單元。


單擊“新增”按鈕,新增證書管理單元。


在彈出的介面中選擇“計算機賬戶”,單擊“下一步”,選擇“本地計算機”,單擊“完成”。回到“新增/刪除管理單元”的介面中,按“確定”。


這樣就添加了證書的管理單元,在“個人”目錄執行匯入操作。



如果有密碼,輸入剛才生成時候的密碼。


成功後伺服器上會有3個證書.
(這裡要注意的是,一定要用控制檯匯入,有人老出錯,請教STARTSSL官方人員,說事因為直接匯入會出錯)


這裡還要注意的是:一定要把 StartCom CLASS 1的證書複製一份到 中級證書頒發機構/證書 裡面。
否則StartClass 會給你傳送一份 StartClass CLASS 1 未正確安裝的信。
而且我們如果用 wosign SSL健康體檢報告 驗證的話,也會出現健康問題。

開啟IIS,並找到要新增證書的網站,開啟其“屬性”面板,並選擇“目錄安全性”標籤,單擊“伺服器證書”。


選擇“分配現有證書”。這裡要解釋一下為什麼不直接“從 .pfx 檔案匯入證書”而要用MMC,原因是我這樣匯入的時候經常提示密碼錯誤,後來發Email到StartSSL,他們建議我用MMC匯入,於是就出現這裡之前的一堆步驟。


單擊“下一步”後選擇證書,之後的都按預設設定就行,一直單擊“下一步”,直到“完成”。











回到“目錄安全性”介面,單擊“伺服器證書”下面的“編輯”,如果要求訪客必須用https連線,就把最上面的兩項勾上。


一直按“確定”直到“目錄安全性”介面關閉。至此,https配置完成了。

=========關於http轉https=========

很多時候,當我們強制要求訪客使用https的時候,會出現
“該頁必須通過安全通道檢視
您試圖訪問的頁面使用安全套接字層 (SSL) 進行保護。"
的錯誤提示。


這是一個403.4的error page,我們只需要在403.4的error page中插入http轉https協定即可。

1.首先於"C:\WINDOWS\Help\iisHelp\common\"中編輯403-4.htm頁面
2.在內 插入下列的scirpt。
3.將檔桉存檔後,以http進入至指定的頁面,即可直接轉置進到https。




+++++++++++++++++++++++++++++++++

wosign 的 SSL健康體檢報告:

這是wosign 提供的針對SSL進行檢驗的一個服務。
可以訪問 https://sslchecker.wosign.com/default.asp 進行SSL安全體檢。

這裡要注意的是:
如果 中級根證書:StartCom Class 1 Primary Intermediate Server CA 未安裝,會扣分。
伺服器上將 StartCom CLASS 1的證書複製一份到 中級證書頒發機構/證書 裡面。然後重新啟動。
再測試就OK了。 這一項就提示綠色 [已安裝] 了。


一般,伺服器預設會 未禁用SSL V2.0 和弱加密演算法.
這會導致 wosign 的 SSL健康體檢報告提示黃色警告。
TLS_DHE_RSA_WITH_DES_CBC_SHA(0x15) 56位 [不安全]
TLS_RSA_WITH_DES_CBC_SHA(0x9) 56位 [不安全]
TLS_RSA_EXPORT_WITH_DES40_CBC_SHA(0x8) 40位 [不安全]
TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5(0x6) 40位 [不安全]
TLS_RSA_EXPORT_WITH_RC4_40_MD5(0x3) 40位 [不安全]

SSL_CK_DES_64_CBC_WITH_MD5(0x60040) 56位 [不安全]
SSL_CK_RC2_128_CBC_EXPORT40_WITH_MD5(0x40080) 40位 [不安全]
SSL_CK_RC4_128_EXPORT40_WITH_MD5(0x20080) 40位 [不安全]

不安全加密協議檢查
    伺服器是否已經關閉不安全的SSL V2.0協議? [未關閉]

Window伺服器可以這樣去關閉,具體請看微軟官方教程。
http://support.microsoft.com/kb/187498
通過修改登錄檔來完成安全的提高。
也可以去看netexr兄寫好的登錄檔,匯入即可。
將以下檔案儲存為 secure.reg 匯入即可。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\DES 56/56]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\NULL]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC2 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 40/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 56/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Ciphers\RC4 64/128]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\PCT 1.0\Server]
"Enabled"=dword:00000000
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\SSL 2.0\Server]
"Enabled"=dword:00000000

然後重新啟動電腦,再次檢驗SSL健康,即可發現你的SSL能從75分提升達到95分了。
另外被扣的5分是因為你用的是免費CLASS 1 [域名驗證型] (Domain Validation)等級的證書。屬於認證比較低的。
如果你願意,可以花60美元升級到CLASS 2等級,認證成 [機構驗證型] (Organizational Validation)的。
或CLASS 3[擴充套件驗證型] (Extended Validation)(綠色位址列)的,那就100分嘍。

附錄:
IIS套接SSL後出現錯誤的或網頁無法訪問的辦法。

伺服器原因

1.例如匯入的是最後單個的公鑰證書,而不是最後生成的.p12檔案。p12證書會匯入3個證書,在使用者訪問網站的時候3個證書會都能看見,如果缺了證書服務公司的證書,網頁就會無法訪問。
2.最好將IIS中繫結域名的IP地址設定為真實IP,而不是"(全部未分配)"
3.伺服器上開啟了防火牆,未開放443埠。


本機原因,支援SSL套機不好有可能是機器中毒了,可以訪問一些別的正常都能訪問的HTTPS協議網站,如果別的都正常只有剛製作的網站不正常那就可能是伺服器原因,如果HTTPS協議都無法訪問,那就是本機中毒了,或SSL協議開啟,這個要重新註冊DLL檔案或開啟SSL證書服務即可,網上很多教程,這裡不多囉嗦。

部分資料網上搜集整理,交流請聯絡MSN:[email protected]/Gtalk:[email protected]/QQ:4543964