最近又要再次購買 SSL 憑證替客戶安裝在 IIS7 上 (其實是 IIS 7.5 但介面一樣),也乘著這次將過程做個完整記錄,從建立憑證要求、購買憑證、識別憑證檔類型、完成憑證要求、匯入中繼憑證、設定站台繫結等,讓你按圖施工、保證成功。
第 1 步:建立憑證要求 (CSR)
要申請安裝 SSL 憑證,必須先建立一個「憑證要求檔」(Certificate Signing Request) (CSR) 並寄給憑證核發單位(販售憑證的公司),然後由信任的憑證配發單位進行憑證的建立,憑證核發後你會拿到 2 ~ 3 個不同用途的憑證檔。
進入 IIS7 管理介面,在伺服器層級的 IIS 區域找到一個「伺服器憑證」的功能點擊進去
點擊右側選單的「建立憑證要求」按鈕
接著輸入一些關於你 SSL 憑證的註冊資訊,一般名稱輸入你的 SSL 網址,組織輸入你的公司名稱(英文)
這個步驟保留預設值即可,一般來說位元長度可能會選擇 1024 或 2048,要看你購買的是哪種等級的憑證。
接著輸入你要產生的「憑證要求檔」檔名與路徑,按下完成後就會產生 C:\certreq.txt 檔案。
第 2 步:購買憑證
這時你就要選擇一家信用可靠的憑證公司,然後向他們購買 SSL 憑證,購買時你必須將上一步驟產生的憑證要求檔 ( C:\certreq.txt ) 寄給對方,對方就可以依據這個 憑證要求檔 產生合法有效的憑證給你。
第 3 步:識別憑證檔類型
當憑證公司簽發憑證幾給你之後,通常至少會有「自我憑證」與「中繼憑證」,有時後還會給你他們 CA 根憑證,不過通常知名的 CA 根憑證都會預設內建在你的作業系統中,所以通常不用特別安裝。
如下圖例,通常 CA 單位在核發憑證時都會替不同的憑證檔案命名,慣例如下:
- 通常在檔名中有 Root 字眼的憑證就是「CA 根憑證」
- 通常在檔名中有 SSL 字眼的憑證就是「中繼憑證」
- 通常在檔名中有 Server 字眼的憑證就是「自我憑證」
不過,這只是慣例,有時後命名不見得是這樣,如果你還是不清楚應該如何判斷哪個檔案屬於那種憑證,你可以詢問您購買的 SSL 憑證廠商的業務洽詢,或可參考以下說明。
如何判斷是否為「CA 根憑證」
將憑證檔用滑鼠雙擊開啟,並切換到 [憑證路徑頁籤],如果只有一筆資料那就是「根」憑證了。
如何判斷是否為「中繼憑證」
將憑證檔用滑鼠雙擊開啟,並切換到 [憑證路徑頁籤],如果你有看到 2 筆資料,且該資料在「根憑證」之下的話,那這張就是「中繼憑證」了。
如何判斷是否為「自我憑證」
將憑證檔用滑鼠雙擊開啟,並切換到 [憑證路徑頁籤],如果你有看到 3 筆資料,且該資料在「根憑證」之下有張「中繼憑證」,在「中繼憑證」還有一張用你申請的網址所命名的憑證,那這張就是未來要安裝到 IIS7 中的「自我憑證」檔!
第 4 步:完成憑證要求 ( 安裝自我憑證 )
此步驟非常重要,在執行「完成憑證要求」時的電腦,必須與你在「建立憑證要求」時的電腦一模一樣,如果是不同台電腦就無法產生私密金鑰(*.pfx),以致於無法安裝憑證的情況,通常是安裝完成後會看到憑證,但是按下 F5 重新整理時該憑證就會立即消失。
進入 IIS7 管理介面,在伺服器層級的 IIS 區域找到一個「伺服器憑證」的功能點擊進去
點擊右側選單的「完成憑證要求」按鈕
接著在第一個欄位選取「自我憑證檔」,並設定一組「好記的名稱」,這裡通常會設定你申請 SSL 憑證的網域名稱。
接著你就會看到安裝完成的憑證在中間視窗中出現,這時你按下 F5 鍵重新整理如果項目還在的話那就代表你安裝憑證成功了。
第 5 步:匯入中繼憑證
這個步驟就比較複雜了,要跳開 IIS 管理介面,先使用 [開始] / [執行] 並輸入 mmc 開啟主控台,並選取 [檔案] / [新增/移除嵌入式管理單元] 功能
選取 [憑證] 管理單元點選 [新增] 按鈕,然後選取 [電腦帳戶] 選項,按下 [下一步] 按鈕,再按 [完成] 按鈕,再按下 [確定] 按鈕加入主控台。
接著開啟 [憑證] / [中技憑證授權單位] / [憑證] 點選滑鼠右鍵,選取 [所有工作] / [匯入]
然後在憑證匯入精靈選取「中繼憑證檔」
接著用預設設定即可,直接按 [下一步] 按鈕,再按下 [完成] 按鈕後即安裝成功。
第 6 步:設定站台繫結
最後一個步驟就是要將剛剛完成的憑證繫結(Binding)到站台去,你可以先選取要設定 SSL 的站台,按下滑鼠右鍵並選取 [繫結]
然後點擊 [新增] 按鈕,在類型欄位選取 https,然後再到 SSL 憑證欄位選取你剛剛新增的 [自我憑證],這裡顯示的名稱是你剛剛匯入自我憑證時「好記的名稱」欄位所設定的值。最後按下 [確定] 按鈕即可將 SSL 憑證設定完成。
以上就是我這次安裝 SSL 憑證並繫結至 IIS 站台的完全攻略,相信傻瓜也能安裝成功! ^_^