
文章目录mkcert本地开发证书生成工具mkcert本地开发证书生成工具本地开发 HTTPS 时浏览器弹出证书警告是常有的事。用真实 CA 证书做开发有安全风险自签名证书又不受信任自己搭 CA 又太麻烦。mkcert 就是为了解决这个问题而生的目前在 GitHub 上拿到了 59k 的 Star。mkcert 是一个用 Go 写的命令行工具专门用于生成本地受信任的开发证书。它会自动在系统的根证书存储中创建并安装一个本地 CA然后用这个 CA 签发证书浏览器不会再报不信任。基本用法安装完 mkcert 后先运行安装命令mkcert -install这条命令会在系统信任库中创建本地 CA同时配置好 Firefox 和 Chrome 的信任。然后直接指定域名生成证书mkcert example.com *.example.com example.test localhost 127.0.0.1 ::1它支持通配符域名、localhost、IPv6 地址也能一次为多个域名生成同一张证书。生成的 .pem 文件可以直接用在 Nginx、Apache 等服务上。安装方式macOS 上用 Homebrew 装最方便brew install mkcert brew install nss # 如果用 Firefox 的话Linux 需要先装 certutilsudo apt install libnss3-tools然后用 Homebrew 或源码安装都行。Arch Linux 用户可以直接 pacmansudo pacman -Syu mkcertWindows 用 Chocolatey 或 Scoopchoco install mkcert遇到权限问题的话用管理员身份运行。支持的系统和浏览器mkcert 支持 macOS、Windows、LinuxFedora、Ubuntu、Arch 等的系统证书库也支持 Firefox、Chrome、Chromium 和 Java 的信任存储。可以通过环境变量 TRUST_STORES 指定只安装到部分信任库。进阶功能mkcert 支持自定义输出路径、ECDSA 密钥、PKCS12 格式、客户端证书等。如果传入的名称是邮箱地址它会自动生成 S/MIME 邮件证书。移动端设备需要手动安装根 CA。iOS 可以通过 AirDrop 或邮件发送 rootCA.pem 文件安装后在设置里启用完全信任。Android 需要在开发构建中手动启用用户根证书。Node.js 不会自动使用系统根证书存储需要手动设置环境变量export NODE_EXTRA_CA_CERTS$(mkcert -CAROOT)/rootCA.pemCA 文件默认存在用户目录下可以用 mkcert -CAROOT 查看路径也支持通过 $CAROOT 环境变量自定义存储位置。如果要在其他机器上使用只需要复制 rootCA.pem 过去然后运行 mkcert -install不需要私钥。需要注意的是mkcert 仅用于开发环境不要在生产环境或用户机器上使用。rootCA-key.pem 是私钥文件绝对不能分享给别人。。需要注意的是mkcert 仅用于开发环境不要在生产环境或用户机器上使用。rootCA-key.pem 是私钥文件绝对不能分享给别人。