mkcert MAC 版

免费开源的工具,无需配置即可为开发环境生成本地受信任的 HTTPS 证书。

mkcert 简介

mkcert 是一款免费开源的命令行工具,用于为开发环境生成本地受信任的 HTTPS 证书。只需运行一次 mkcert -install,它就会创建你自己的本地证书颁发机构并添加到 Mac 的信任存储中;之后一条命令就能为 localhost、127.0.0.1 或 example.test 之类的开发域名生成证书,浏览器会直接信任,不再弹出警告。mkcert 由 Filippo Valsorda 开发,以 BSD-3-Clause 许可证发布。

真正的证书颁发机构无法为 localhost 这类名称签发证书,而自签名证书在所有浏览器中都会出现信任错误。mkcert 无需任何配置就能同时解决这两个问题。它不会替你配置 Web 服务器:你需要让服务器使用它生成的证书和密钥文件。在 Mac 上可以用 Homebrew 或 MacPorts 安装;如果使用 Firefox,还需要安装 nss 包。最新版本 1.4.4 发布于 2022 年,提供 Apple 芯片和 Intel 版本。

主要功能

mkcert 只做一件事,而且做得简单。

  • 本地证书颁发机构:mkcert -install 会创建本地 CA,并把它添加到 macOS 的系统信任存储中。
  • 任意名称:一张证书可以涵盖多个名称、*.example.test 这样的通配符、localhost 和 IP 地址。
  • 浏览器信任:适用于 Safari、Chrome、Chromium 和 Firefox(需要 nss),设置了 JAVA_HOME 时也适用于 Java。
  • 无需配置:没有设置文件,也没有任何提问。
  • 证书格式:用 -ecdsa 生成 ECDSA 密钥,用 -pkcs12 生成 PKCS #12 文件,用 -client 生成客户端证书。
  • S/MIME:如果名称是电子邮件地址,会生成 S/MIME 证书。
  • 其他设备:从 mkcert -CAROOT 显示的文件夹中复制根证书,就能让手机或其他电脑也信任它。
  • 干净移除:mkcert -uninstall 会把本地 CA 从信任存储中移除。

1.4.4 版本新功能

mkcert 1.4.4 是最新版本。

  • 支持以 Snap 打包的 Firefox,即 Ubuntu 22.04 的默认浏览器
  • 修复证书签名请求中没有名称时崩溃的问题
  • 不带参数运行 mkcert 时现在只显示帮助信息
  • 提供适用于 Arm 版 Windows 和 Apple 芯片 Mac 的预编译程序
  • 预编译程序改用固定的下载地址

mkcert 常见问题

mkcert 免费吗?

是的。mkcert 免费且开源,以 BSD-3-Clause 许可证发布。

如何在 Mac 上安装 mkcert?

如果使用 Homebrew,在“终端”中运行 brew install mkcert;如果使用 Firefox,再运行 brew install nss。也可以通过 MacPorts 安装,GitHub 发布页面上还有预编译程序。

如何用 mkcert 为 localhost 生成证书?

先运行一次 mkcert -install,创建并信任你的本地证书颁发机构。然后运行 mkcert localhost 127.0.0.1 ::1,mkcert 会在当前文件夹中写入证书文件和密钥文件,供开发服务器使用。

为什么不直接用自签名证书?

浏览器不信任自签名证书,会显示安全警告。mkcert 用你自己的本地证书颁发机构签署证书,并把该机构添加到 Mac 的信任存储中,因此浏览器会直接接受这些证书。

mkcert 支持 Firefox 吗?

支持。在 Mac 上,先安装 nss 包(brew install nss),再运行 mkcert -install,mkcert 就会把证书颁发机构也添加到 Firefox 中。之后需要重启 Firefox。

mkcert 安全吗?

mkcert 只适用于开发环境。它生成的 rootCA-key.pem 文件可用来拦截你电脑上的安全连接,所以绝不要分享它,也绝不要在公共服务器上使用 mkcert 证书。

mkcert 会配置我的 Web 服务器吗?

不会。mkcert 只生成证书和密钥文件,你需要自己配置 Web 服务器或开发工具来使用它们。

可以在 iPhone 或其他电脑上使用 mkcert 证书吗?

可以,只要在那台设备上安装你的本地根证书。它就是 mkcert -CAROOT 显示的文件夹中的 rootCA.pem 文件。

如何移除 mkcert 的证书颁发机构?

运行 mkcert -uninstall。它会把本地证书颁发机构从 Mac 的信任存储中移除。

mkcert.FULLMAC.app 上的 mkcert 下载来自哪里?

下载按钮指向 mkcert 的官方 GitHub 页面 https://github.com/FiloSottile/mkcert,那里有安装说明和各个版本。mkcert.FULLMAC.app 不会修改或重新打包该工具。

相似应用

FULLMAC.app 不托管此应用。下载按钮会将你带到开发者自己的页面。