温馨提示×

Linux中Postman如何导入证书

小樊
36
2025-12-23 21:10:33
栏目: 智能运维

Linux 中 Postman 导入证书指南

一 客户端证书用于 mTLS 认证

  • 打开 Postman,依次进入:File > Settings > Certificates(macOS 为 Postman > Preferences > Certificates)。
  • Client Certificates 区域点击 Add Certificate
  • 填写目标主机的 Host(例如:api.example.com;如为本地测试可使用 localhost127.0.0.1),端口留空表示 443
  • 选择证书与密钥文件:
    • 证书文件:常见为 .crt/.pem
    • 私钥文件:常见为 .key;如使用 .p12/.pfx,请将其导出为 PEM 格式(包含证书与私钥),或参考所用工具的转换方式。
  • 如私钥有密码,填写 Passphrase
  • 点击 Add Certificate 保存。之后向该 Host 发起的 HTTPS 请求会自动携带客户端证书完成 mTLS 握手。
  • 说明:一个 Host 只能配置一把客户端证书;如需更换,先删除再添加。若请求报证书相关错误,检查证书链、域名匹配与密码是否正确。

二 CA 证书用于信任自签名或私有 CA

  • 场景:服务器使用自签名或私有 CA 签发证书,需要在 Postman 中将该 CA 加入信任链,避免 “证书不受信任” 错误。
  • 操作路径(两种做法,二选一或同时配置):
    • 全局信任(推荐):将 CA 证书导入 Linux 系统 CA 信任库,Postman(基于 Chromium)会继承系统信任。
      • Debian/Ubuntu 系列:
        1. 复制证书到系统目录:sudo cp your-ca.crt /usr/share/ca-certificates/extra/your-ca.crt
        2. 更新证书索引:sudo update-ca-certificates
      • RHEL/CentOS 系列:
        1. 复制证书到锚点目录:sudo cp your-ca.crt /etc/pki/ca-trust/source/anchors/
        2. 更新信任库:sudo update-ca-trust extract
    • 仅 Postman 内部信任(不修改系统):在 Settings > Certificates 中,找到 CA Certificates 区域,点击 Add CA Certificate,选择 your-ca.crt 导入。
  • 完成后,访问使用该 CA 签发的 HTTPS 接口将不再报证书信任错误。

三 捕获 HTTPS 流量的代理 CA 证书安装

  • 用途:使用 Postman 内置代理抓取设备/应用的 HTTPS 流量时,需要在被代理设备上安装 Postman Proxy CA 证书。
  • 获取证书路径:
    • Linux 本机 Postman 通常为:~/.config/Postman/proxy/postman-proxy-ca.crt
  • 安装到系统并信任(以 Debian/Ubuntu 为例):
    1. 复制证书:sudo cp ~/.config/Postman/proxy/postman-proxy-ca.crt /usr/share/ca-certificates/extra/postman-proxy-ca.crt
    2. 更新索引:sudo update-ca-certificates
    3. 重启 Postman 与被代理设备上的目标浏览器/应用,使其加载新信任库。
  • 其他系统(如 RHEL/CentOS、Windows、macOS)步骤类似,均是将 postman-proxy-ca.crt 安装为受信任根证书后再抓包。

四 常见问题与排查

  • 证书不受信任或握手失败:确认已按上文正确导入 CA 证书(系统或 Postman 内),且证书链完整;必要时在请求中临时关闭 SSL certificate verification 仅用于排查,确认问题后再开启。
  • 客户端证书不生效:核对 Host 与端口是否匹配(端口留空默认 443),证书与私钥是否为 PEM 且匹配,私钥密码是否正确;同一 Host 只能保留一把证书。
  • 抓包看不到 HTTPS 内容:确认目标设备已安装 postman-proxy-ca.crt 并设为受信任,且设备的 Wi‑Fi/以太网 代理指向 Postman 代理;完成后重启浏览器/应用。

0