Bruno CLI 如何用 --cacert 与 --ignore-truststore 配置 CA 证书以验证私有或自签名证书

发布时间:2026/9/11 7:18:04
Bruno CLI 如何用 --cacert 与 --ignore-truststore 配置 CA 证书以验证私有或自签名证书 Bruno CLI 如何用 --cacert 与 --ignore-truststore 配置 CA 证书以验证私有或自签名证书【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno用 Bruno CLI 跑测试集合时如果集合里的请求会访问使用私有 CA 或自签名证书的 HTTPS 服务默认信任链验证会失败。Bruno CLI 的bru run命令提供了两个选项来解决这个问题--cacert用于追加自定义 CA 证书--ignore-truststore用于禁用默认信任库、只信任你指定的证书。这篇文章说明两种配置方式的区别、适用场景和验证方法。前提条件已全局安装 Bruno CLI。官方 readme 给出的安装方式npm install -g usebruno/cli当前工作目录是 API 集合目录bru run需要在集合根目录下执行否则会报错。你已经拿到私有 CA 的证书文件。下文示例中的myCustomCA.pem是 bruno-cli readme 里的示例文件名实际使用时替换为你自己的 CA 证书路径。方式一自定义 CA 追加到默认信任库如果你的集合同时请求公网服务和私有服务只想让私有 CA 额外生效、同时保留系统默认的信任链使用--cacertbru run request.bru --cacert myCustomCA.pem也可以对整个文件夹生效bru run folder --cacert myCustomCA.pem按 readme 的说法这种情况下证书会在默认 truststore 之外被使用these certificates will be used in addition to the default truststore。命令实现里getCACertificates 会把自定义证书文件的内容与系统 CAtls.getCACertificates(system)、Node 内置 root 证书以及NODE_EXTRA_CA_CERTS环境变量指向的证书合并后作为ca传给 HTTPS agent因此原有公网请求不受影响。方式二只信任指定 CA忽略默认信任库如果你希望验证对端时只信任你提供的这份 CA例如内网测试环境不信任任何公开 CA在--cacert基础上追加--ignore-truststorebru run request.bru --cacert myCustomCA.pem --ignore-truststore或在文件夹级别bru run folder --cacert myCustomCA.pem --ignore-truststorerun 命令的选项定义中--ignore-truststore的说明是指定后--cacert提供的证书将被排他使用、默认 truststore 被忽略且该选项只有与--cacert组合使用时才有意义Evaluated in combination with --cacert only。对应地实现中shouldKeepDefaultCerts取值为!options[ignoreTruststore]为false时系统证书和 root 证书不再进入合并列表。注意--ignore-truststore会改变集合内所有请求的信任范围。如果集合里还有依赖公开 CA 的请求不要加这个选项用方式一即可。执行后如何验证bru run结束后会输出 Execution Summary 表格Status、Requests、Tests、Assertions、Duration。判断依据有两个Status 行验证通过时显示✓ PASS有失败请求、测试或断言时显示✗ FAIL。退出码bruno-cli readme 列出的退出码中0表示执行成功1表示请求、测试或断言失败。在 CI 中可以直接用退出码判断。证书配置不当时你看到的现象会直接来自 CLI 的错误输出而不是含糊的失败Cacert File myCustomCA.pem does not exist这条消息在 run 命令处理器 中出现于--cacert指向的文件不存在时先确认证书路径相对当前集合目录拼写正确。边界与注意事项--insecure会覆盖--cacert如果同时启用了--insecure允许不安全连接CLI 会打印Ignoring the cacert option since insecure connections are enabled此时不验证任何证书。需要验证私有证书时不要加--insecure。--ignore-truststore单独使用无效它的语义建立在--cacert提供的证书上不加--cacert时没有意义。该场景的适用对象是“对端证书验证”server 端证书链。如果你的请求还需要携带客户端证书那是另一条配置路径--client-cert-config通过 JSON 配置文件传入客户端证书配置与本文两个选项互不替代。更细的证书合并行为系统证书、root 证书、NODE_EXTRA_CA_CERTS的取舍可以直接查看 ca-cert.ts 中getCACertificates的实现。【免费下载链接】brunoOpensource IDE For Exploring and Testing APIs (lightweight alternative to Postman/Insomnia)项目地址: https://gitcode.com/GitHub_Trending/br/bruno创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询