所有指南 指南

GetHTTPS 運作原理

GetHTTPS 是一個基於瀏覽器的 ACME 用戶端,無需任何伺服器端元件即可從 Let’s Encrypt 簽發免費的 HTTPS 憑證。

架構

傳統 ACME 工具(如 certbotacme.sh)執行在你的伺服器上,需要 Shell 存取權限、root 權限,通常還需要設定 cron 排程任務來續簽憑證。

GetHTTPS 採用了截然不同的方式:所有操作都在瀏覽器分頁中完成。你的私鑰透過 Web Crypto API 在本機產生,永遠不會離開目前頁面。

工作流程

  1. 產生帳號金鑰 — 瀏覽器使用 crypto.subtle.generateKey() 建立一個 P-256 ECDSA 金鑰對,作為你的 ACME 帳號識別。

  2. 註冊帳號 — 將公鑰註冊到 Let’s Encrypt 的 ACME API。每個請求都透過 JWS(JSON Web Signature)簽章。

  3. 建立訂單 — 指定憑證需要涵蓋的網域。Let’s Encrypt 回傳一組 challenge 驗證任務。

  4. 完成 Challenge — 對於每個網域,你需要完成 HTTP-01 challenge(在伺服器上放置檔案)或 DNS-01 challenge(新增 TXT 記錄)。

  5. 預先檢查驗證 — 在提交給 Let’s Encrypt 之前,GetHTTPS 會從公網檢查你的 challenge 設定是否正確,避免因設定錯誤浪費速率限制次數。

  6. 簽發憑證 — Challenge 驗證通過後,產生獨立的憑證金鑰對,建構 CSR(憑證簽章請求)並完成訂單最終化。Let’s Encrypt 回傳簽章的憑證鏈。

  7. 下載部署 — 下載 privkey.pemcert.pemchain.pemfullchain.pem,部署到你的伺服器。

安全模型

  • 私鑰絕不離開瀏覽器 — 透過 WebCrypto 產生,僅存在於記憶體中
  • 無代理 — 瀏覽器直接與 Let’s Encrypt 的 ACME API 通訊
  • 無後端 — gethttps.com 僅提供靜態檔案
  • 開源 — 全部用戶端程式碼可稽核

關於續簽

Let’s Encrypt 憑證有效期為 90 天。續簽時只需重新執行相同流程。如果儲存了帳號金鑰,Let’s Encrypt 會識別你的帳號,無需重新註冊。

如果需要自動續簽,建議使用伺服器端用戶端(如 certbot)。GetHTTPS 專為手動、一次性簽發設計,適合需要完全控制和透明度的場景。

在瀏覽器中取得免費 SSL 憑證
無需安裝,無需帳號。私鑰始終留在你的裝置上。
取得憑證