一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)

一款用于搭建本地受信任 CA 证书的工具:mkcert 使用教程(本地 HTTPS/SSL 证书生成)

简介

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 证书生成)-微生之最

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
喜欢就支持一下吧
点赞7 分享
嘀哩 抢沙发

请登录后发表评论

    暂无评论内容