所有指南 指南

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 证书
无需安装,无需账号。私钥始终留在你的设备上。
获取证书