mkcert 命令文档 - 本地 HTTPS 开发证书生成工具详解
1. 命令简介mkcert 是一个用 Go 语言编写的、零配置的本地开发用自签名证书生成工具。它能够自动创建并安装本地证书颁发机构CA到系统的信任存储中并生成受本地信任的开发证书大幅简化 HTTPS 本地开发环境的搭建过程无需手动配置复杂的证书流程。2. 语法格式bash运行mkcert [选项] [域名列表...]基本语法说明【域名列表】一个或多个主机名、IP 地址或通配符域名如example.com、*.test.com生成的证书将对这些目标有效。【选项】控制证书生成、CA 管理安装 / 卸载的各种标志可根据需求组合使用。3. 常用选项及说明表格选项说明-install在系统信任存储中安装本地 CA证书颁发机构这是使用 mkcert 的第一步安装后本地证书才会被系统和浏览器信任。-uninstall从系统信任存储中卸载本地 CA适用于开发完成后清理环境。-CAROOT打印本地 CA 证书和私钥的存储目录路径方便查找根证书文件。-cert-file FILE指定生成的证书文件的输出路径如./ssl/cert.pem自定义证书存放位置。-key-file FILE指定生成的私钥文件的输出路径如./ssl/key.pem自定义私钥存放位置。-p12-file FILE指定 PKCS#12 文件的输出路径适用于需要该格式证书的旧式应用如 Java 项目。-client生成用于客户端身份验证的证书非服务器端证书。-ecdsa使用 ECDSA 椭圆曲线算法生成密钥对默认使用 RSA 算法。-pkcs12生成一个 .p12PKCS#12格式文件适配需要该格式的服务或应用。-csr CSR根据提供的证书签名请求CSR文件生成证书此选项与 -install 和 -cert-file 以外的所有选项冲突。-help显示 mkcert 命令的详细帮助信息。环境变量CAROOT设置 mkcert 存放和查找 CA 文件的目录用于管理多个独立的 CA。TRUST_STORES设置逗号分隔的信任存储列表指定将 CA 安装到哪些存储中可选值system系统、javaJava 环境、nss含 Firefox 浏览器。4. 示例用法示例 1基础使用本地开发证书生成首次必做安装本地 CA首次使用必需仅需执行一次bash运行mkcert -install说明此操作会将自签名根 CA 安装到系统、浏览器Chrome、Firefox 等的信任库中后续生成的证书会被自动信任。为多个域名和 IP 生成证书bash运行mkcert example.com *.example.com localhost 127.0.0.1 ::1说明生成的证书同时对example.com、所有*.example.com子域名、localhost、IPv4 地址127.0.0.1和 IPv6 地址::1有效证书.pem和私钥-key.pem会生成在当前目录。示例 2自定义证书和私钥输出路径bash运行mkcert -key-file ./ssl/key.pem -cert-file ./ssl/cert.pem myapp.local说明将生成的私钥和证书保存到指定的./ssl/目录下便于项目统一管理证书文件。示例 3生成 PKCS#12 格式证书bash运行mkcert -pkcs12 -p12-file ./keystore.p12 api.dev.local说明生成 .p12 格式证书适用于 Java 等需要该格式证书的旧式应用。示例 4生成 S/MIME 邮件证书bash运行mkcert userexample.com说明生成可用于邮件签名和加密的 S/MIME 证书适配邮件安全场景。示例 5查找 CA 根证书位置bash运行mkcert -CAROOT说明输出 CA 根证书的存储路径如/Users/username/Library/Application Support/mkcert路径下包含rootCA.pem根证书和rootCA-key.pem根私钥。示例 6在 Node.js 环境中使用Node.js 不默认使用系统信任库需手动设置环境变量bash运行export NODE_EXTRA_CA_CERTS$(mkcert -CAROOT)/rootCA.pem说明设置后Node.js 应用会信任 mkcert 颁发的证书可正常调试 HTTPS 接口。5. 注意事项安全警告mkcert 生成的rootCA-key.pem文件拥有在本机拦截所有安全请求的权限切勿共享此文件该工具仅用于本地开发目的。生产环境禁用mkcert 生成的证书和 CA 是自签名的绝对不应用于生产环境或公共网站仅适用于本地开发调试。选项顺序-cert-file、-key-file、-p12-file等选项必须放在域名列表参数之前否则会报错。通配符限制X.509 证书中的通配符如*.example.com仅匹配一级子域名无法匹配a.b.example.com这类多级子域名。移动设备测试若需在 iOS 或 Android 真机测试本地 HTTPS 服务需将rootCA.pem文件传输到设备手动安装并信任该根证书步骤因系统版本而异。CA 卸载开发完成后可执行mkcert -uninstall将 CA 从系统信任库中移除清理本地环境。多系统 CA 共享可将rootCA.pem不要复制 rootCA-key.pem复制到其他机器设置CAROOT环境变量指向该文件目录再执行mkcert -install即可共享同一套开发证书。获取更多Linux学习资料请关注“阿成学长工具包”公众号对话框中输入2647获取
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2468185.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!