2018/04 寫過了一篇如何在 Windows IIS HTTPS 網站申請 免費的 SSL 憑證
飛行夾克 的網路事件簿 - https 網站使用 free SSL
引用一段當時的文章內容
=========================================================================
2017年1月開始,對沒有使用SSL安全認證 (HTTPS) 服務的網站, Google Chrome 瀏覽器第56版以後的版本會將該網站標示為「不安全」或「Not Secure」,而且網站是否使用SSL安全認證(HTTPS) 服務,在 Google SEO 中也列入評分的項目。
現在的商業網站配合 Google SEO,或是為了交易安全,均會導入 SSL 來提升排名或保護交易;使用的 SSL 憑證除可識別該網站的所有權,並提供加密的交易安全傳輸,此時憑證的發放單位也是一個需考慮的項目;因此,雖然網路上雖有著為數不少的免費 SSL 憑證,但一個商業網站在選擇 SSL安全認證(HTTPS) 服務時,並不會考慮使用免費的 SSL 憑證,必竟SSL憑證的年費對於一個商業網站來說是便宜的。
話說,雖然 SSL 憑證年費並不高,但開發過程中的試網站,為了驗證網站的運作,也必須為其加入完整的SSL安全認證(HTTPS)服務,但為了測試用網站付費並不實際,所以可為這個網站申請一個免費的SSL安全認證(HTTPS)服務。
目前使用的是 Let’s Encrypt 所生成的免費憑證,Let’s Encrypt 是一個免費的、自動的、開放的認證機構 (CA),為公眾的利益而運行,它是由 Internet Security Research Group (ISRG) 提供的一項服務。唯一的限制是它的憑證有效期為90天,每隔90天需再更新一次憑證。它的另一個缺點是該網站沒有一個很好用的UI來提供憑證申請。
SSL For Free 提供了UI來完成 Let’s Encrypt 的 SLL 憑證申請,並透過註冊的帳號來管理所申請的憑證,並在憑證到期前以 eMmail 通知更新。
=========================================================================
當時使用 SSL For Free 也著實提供了相當的幫助,但就在 2020/05/19 收到來自 SSL For Free 的通知信件,信中提到它改用 Zero SSL 的憑證,內容如下:
前端的UI 操作仍相同,也有90天的憑證期限,但遇到一個新的狀況,如果是使用子網域名,它只提供了一層的架構,例如當有一個網域名為 www.beta.sample.com.tw時,它會變成 beta.sample.com.tw,這個情形下將會無法取得正確的憑證。
在這個情形下只好另尋出路。
透過 Let’s Encrypt 文章中的 ACME Client Implementations 找到了以下這個使用於 Windows IIS 的介面程式
A simple ACMEv2 client for Windows (for use with Let's Encrypt et al.)
先下載 Win-ACME 程式,並解壓縮所有檔案到網站主機上,並點選 "wacs.exe"開啟程式
開啟後的畫面如下,雖然沒有漂亮的 UI,但相關操作仍是容易的
綠色字是建議的預設選項,如果要選預設選項,可以直接按 "Enter" 鍵,也可以輸入選項再按 "Enter" 鍵。
我們先選 "N: Create Certificate (defaule settings)"
預設選項過不了,猜測可能跟IIS版本有關?? 這個問題就沒有再繼續驗證。
改選 "M: Create Certificate (full options)"
進入後,接著選 "2: Manual input",為什麼不選預設的 "1"? 因為跟前一個選項 "N"一樣,我的環境過不了
接著給它使用這個SSL憑證的名稱,例如 :www.sample.com
輸入後,會再給它一個容易辨識的名稱,預設會加上選擇的模式,例如 [Manual] www.sample.com,當然你也可以自定名稱
接下來要驗證你產生這個憑證的網站,該網站是否是你所擁有,它提供的多種驗證方式;因我的程式就在該主機上,所以直接採用預設的選項
"2: [http-01] Serve verification files from memory"
選擇 Certification Signing Request (CSR) 要用的 private key 編譯方式,預設為 "2: RSA key"
選擇 這個憑證要存放的置,採用預設的 "4: Windows Certification Store"
選擇 "5: No (additional) store steps" 到下一步
接著要把產生的憑證與現有IIS網站綁定在一起,選擇
"1: Create or update https bindings in IIS"
此時會列出 Internet Information Services (IIS) 管理員中所有的站台名稱,選擇你要產生 SSL憑證的站台名稱。
選取 "4: No (additional) installation steps " 結束
終於完成SSL憑證的產出及綁定。
建立完成後可經由 "A: Manage renewals ( x Total)" 來看管理已建立憑證
依此主機為例,已完成2個網站的 SSL憑證的建立,可透過這裡來查看憑證詳細資訊,或是取消憑證等...
至此已完成在 IIS 中建立SSL憑證的完整步驟,接著你可以在 Internet Information Services (IIS) 管理員 中查看已建立成的憑證。