mkcert 是一个用 Go 编写的零配置工具,用于为本地开发环境生成受本机信任的 HTTPS 证书。它会在系统信任库中安装一个本地根证书颁发机构,从而让 localhost 等本地域名以合法 HTTPS 运行而不弹出浏览器警告。

| 类型 | 本地证书工具 |
| 开发语言 | Go |
| 用途 | 本地 HTTPS 开发 |
| 许可协议 | BSD 开源 |
| 注意 | 不用于生产 |
mkcert 是一个开源、零配置的命令行工具,用于为本地开发生成受信任的 TLS 证书。它自动创建并安装一个仅存在于本机的本地根证书颁发机构(CA),再用该 CA 为 localhost、内网 IP 或自定义本地域名签发证书,使浏览器与工具将其视为合法 HTTPS。
现代 Web 功能,如 Service Worker、部分 Web API 与安全 Cookie,常要求 HTTPS 环境。开发者若手动用自签名证书,浏览器往往会弹出不安全警告,配置过程也繁琐易错。mkcert 把生成本地 CA、写入系统信任库与签发证书的流程一键化,极大简化了本地 HTTPS 调试。
首次运行安装命令时,mkcert 生成一个本地根 CA 的密钥与证书,并将该根证书写入操作系统与浏览器的信任库。此后为某个域名签发证书时,它用这个本地 CA 对证书签名。由于系统已信任该 CA,由它签发的证书自然被判定为可信,因而不再出现证书警告。这个根 CA 只保存在本机,不会离开开发者的电脑,也不应部署到生产环境。
典型用法是在本地以 HTTPS 运行前端或全栈应用,以复现生产环境下的安全上下文;调试需要安全来源的浏览器特性;或在团队内网服务上启用无警告的加密连接。它让开发者无需再与浏览器的安全提示反复周旋。
问:mkcert 的证书能用于线上生产网站吗?答:不能,它签发的证书只被本机信任,公网用户的浏览器并不认可这个本地 CA,生产环境应使用受公共 CA 或 ACME 服务签发的正式证书。
问:安装本地 CA 有安全风险吗?答:本地 CA 的私钥应妥善保管,一旦泄露他人可用其签发被你信任的证书,因此不要共享该私钥,也不要在多人共用的机器上随意安装。

| 类型 | 本地证书工具 |
| 开发语言 | Go |
| 用途 | 本地 HTTPS 开发 |
| 许可协议 | BSD 开源 |
| 注意 | 不用于生产 |
登录 后参与讨论
暂无讨论,来发表第一条评论吧