現在的商業網站配合 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 憑證申請,並透過註冊的帳號來管理所申請的憑證,並在憑證到期前以 eMAIL通知更新。
先到 SSL For Free 建立一個帳號,點選 Login
輸入你的帳號及密碼,點選 Register
只要一個步驟即可完成註冊,後續也會在有效憑證到期前一週,透過這個 eMAIL 通知更新
點選 Create one now ,開始建立所需的 SSL憑證
輸入要使用的完整網址,點選 Create Free SSL Certificate
網站預設提供兩個域名 www.domain.com 及 domain.com ,可依自己的需求調整
SSL For Free 提供三種驗證方式:Automatic FTP Verification、Manual Verification、Manual Verification (DNS)
建議採用 Manual Verification 方式
點選 Manual Verification
接著要驗證你是否為這個域名(網站)的擁有者,依序完成以下三個步驟
- Get domain verification files by clicking the button below
點選下方的 Manually Verify Domain ,取得驗證檔 - Upload domain verification files to domain (Need help?)
上傳這個驗證檔到你的網站中 - Download your free ssl certificate
確認無誤後,即可下載SSL憑證
- 先下載認證檔,每一個域名有一個檔案
- 在網頁的根目錄建立一資料夾 “.well-known”,在 Windows系統並無法直接以“.well-known”建立資料夾,需於尾端再加上 “.”,先建立一個新的資料夾,再將其更名為 “.well-known.”,更名後即可變成“.well-known”。
- 於資料夾 “.well-known”下再建立另一個資料夾 “acme-challenge”
- 將上方所下載的認證檔上傳到 “acme-challenge”資料夾中
- 接著就可以利用所列出的連結來確認是否可正常存取到此一檔案
- 如果是使用在 IIS 系統時,因為 “.” 無法被解析,需在 IIS 的 MIME 類型中將 “.” 加入為 “text/plain” 類型
如何在一個站台中新增一個 “MIME 類型”
點選站台內要設定的網站,並點選開啟 “MIME 類型”
點選右側的 動作 à 新增
接著新增一個新的副檔名類型
第5點驗證時,未加入 MIME Type 畫面
第5點驗證時,已加入 MIME Type 畫面
確認第5點中所列連結均可正常呈現後,點選下方 “Download SSL Certificate”
此時系統會產出新的 SSL Certificate Files
點選 “Download All SSL Certificate Files”即可取得 Private.key、CA_bundle.crt 和 certificate.crt 三個憑證檔案的壓縮檔
因 IIS 只能使用 .pfx 憑證檔,所以需再將 .crt 轉換成 .pfx,此時可透過 openSSL for Windows 來轉換,依照作業系統版本下載安裝後執行轉換,安裝後 openssl 主程式所在位置於 C:\OpenSSL-Win64\bin (Win 64 版本)
OpenSSL 使用的語法如下:
openssl pkcs12 -export -out "your_Domain.pfx" -inkey "private.key" -in "certificate.crt" -certfile "ca_bundle.crt"
執行時會要求輸入兩次後續要轉入憑證時所需的密碼
執行完成後可產出所需的 .pfx 檔
接著將新的憑證匯入供網站使用
開啟 Internet Information Services (IIS) 管理員,點選左側伺服器名稱,接著點選右側 IIS 中的 “伺服器憑證”
點選 右側 “匯入”
輸入經由 SSL for Free 及 OpenSLL 所產出的憑證檔及匯入的密碼
匯入完成後可看到一筆伺服器憑證記錄
在該記錄按右鍵 à 檢視,可查看憑證內容及期限
完成憑證匯入後,點選左側站台內要設定HTTPS 的站台,接著點選右側編輯站台中的“繫結”
新增一個 https 的站台繫結
以 Chrome 為例,開啟網站時即可看到網址左側的綠色鎖及安全字樣
點選右側 “自訂及管理Chrome” à “更多工具” à “開發人員工具”
即可在 Security overview 頁面查看該網站相關的憑證資訊
至此已完成一個網站 Free SLL 憑證的申請、安裝及設定
此時可再回到 SLL for Free 點選右上方的 “Cretificates”查看你所擁有的憑證,別忘了,它的有效期限為90天,而且憑證到期前一週它會自動通知你。
最後,雖然有 Free 的 SLL 憑證可用,但對於營運中的網站,仍然建議選擇使用付費、優良的憑證機構發出的憑證。
沒有留言:
張貼留言