简介
mkcert 是一款使用 Go 语言编写的零配置本地证书生成工具,专为开发与测试环境设计。它可以快速创建本地受信任的 CA(证书颁发机构)并签发 SSL/TLS 证书,从而解决浏览器对自签名证书提示“不安全”的问题。
通过 mkcert,开发者可以在本地环境中模拟生产级 HTTPS 加密通信,适用于本地网站开发、API 调试、反向代理、容器环境和微服务测试等场景。
mkcert 的主要功能
自动创建并信任本地 CA
mkcert 在首次运行时会自动生成本地 CA 根证书,并安装到系统与浏览器信任存储中:
mkcert -install
安装完成后,本机生成的证书在浏览器中将显示为“安全连接”,不会出现证书警告。
快速生成本地 HTTPS 证书
单域名证书
mkcert example.com
生成:
example.com.pem(证书)example.com-key.pem(私钥)
多域名 / 通配符证书
mkcert -cert-file cert.pem -key-file key.pem example.com "*.example.com"
支持:
- 通配符域名(
*.example.com) - 多域名 SAN
- ECDSA 密钥算法(更高安全性)
本地开发专用域名
mkcert localhost 127.0.0.1 ::1
覆盖:
- localhost
- IPv4
- IPv6
适用于本地 Web 服务、Node.js、Docker、Nginx、Apache 等环境。
证书管理
安装 CA:
mkcert -install
清理 CA:
mkcert -uninstall
自定义输出路径:
mkcert -cert-file cert.pem -key-file key.pem example.com
技术优势
跨平台支持
mkcert 支持:
- macOS
- Linux
- Windows
- 主流浏览器(Chrome / Edge / Firefox / Safari)
零配置本地 HTTPS
无需:
- 手动生成 CA
- 导入系统信任
- 配置浏览器证书
一条命令即可生成可用 HTTPS 证书。
更安全的加密算法
支持:
mkcert -ecdsa example.com
ECDSA 相比 RSA:
- 更短密钥长度
- 更高安全强度
- 更快握手性能
注意事项
- mkcert 证书仅适用于本地开发环境
- 不可用于生产环境公网网站
- 每台机器需单独初始化 CA
- 本地 CA 不应泄露或提交到代码仓库
官方版本限制:
- 不支持自定义 CA 组织信息
- 不支持自定义有效期
如需扩展可使用社区 Fork 版本。
mkcert 安装教程
Linux 安装
安装 NSS 依赖:
# Debian / Ubuntu
sudo apt install libnss3-tools
# CentOS / RHEL
sudo yum install nss-tools
# Arch
sudo pacman -S nss
# openSUSE
sudo zypper install mozilla-nss-tools
安装 mkcert:
sudo apt install mkcert
macOS 安装
brew install mkcert
brew install nss # Firefox 需要
Windows 安装
Chocolatey:
choco install mkcert
Scoop:
scoop bucket add extras
scoop install mkcert
使用示例
安装本地 CA:
mkcert -install
生成多域名证书:
mkcert example.com "*.example.com" example.test localhost 127.0.0.1 ::1
输出:
example.com+5.pem
example.com+5-key.pem
![图片[1]-一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)-微生之最](https://cos.swszz.cn/2026/02/20260226211920480.webp)
mkcert 常用参数
| 参数 | 说明 |
|---|---|
| -cert-file FILE | 指定证书输出路径 |
| -key-file FILE | 指定私钥输出路径 |
| -p12-file FILE | 生成 PKCS#12 文件 |
| -client | 生成客户端证书 |
| -ecdsa | 使用 ECDSA 密钥 |
| -pkcs12 | 输出 p12/pfx |
| -csr CSR | 基于 CSR 签发 |
适用场景
mkcert 常用于:
- 本地 HTTPS 开发环境
- Node.js / Vite / Webpack Dev Server
- Docker / Kubernetes 本地服务
- API 调试
- OAuth / Cookie Secure 测试
- HTTP/2 / Service Worker 调试
- 反向代理 HTTPS
© 版权声明
版权保护声明
尊重原创,保护知识产权
原创保护:本站所有原创内容均受著作权法保护,未经许可禁止转载或商业使用
转载规范:如需转载,请注明出处并保留原文链接,不得删改内容
免责声明:本站仅提供学习交流平台,内容观点不代表本站立场
侵权处理:如发现侵权内容,请及时联系我们,将在第一时间处理
THE END
















暂无评论内容