如何解决Postman Cli登录时的「self signed certificate in certificate chain」错误?
解决Postman CLI登录时"self signed certificate in certificate chain"错误
问题背景
执行Postman login --with-api-key <API key>时返回错误:
Error: self signed certificate in certificate chain
已完成的操作:
- 确认API密钥在公司网络外可正常使用
- 导出公司CA根证书及中间证书,转换为包含双证书内容的PEM格式(分别用Bash的
openssl x509 -inform der -in exported_der.cer -out mypem.pem和Windows 10的certutil.exe -encode exported_der.cer -out mypem.pem完成转换) - 已将该PEM证书添加到Postman桌面端的Settings > Certificate中,桌面端访问
https://postman-echo.com/get可正常请求,移除证书则报错 - 尝试过Newman的
--ssl-client-key和--ssl-client-cert参数,但登录命令不支持这些选项(postman login -h显示仅支持--alias、--with-api-key和-h)
解决方案
Postman CLI不会自动读取桌面端配置的证书,需要通过环境变量指定信任的CA证书:
1. Windows系统
在命令行中先设置环境变量,再执行登录命令:
set NODE_EXTRA_CA_CERTS=C:\路径\到\你的\证书文件.pem postman login --with-api-key <你的API密钥>
如果需要永久生效,可以在系统环境变量中添加NODE_EXTRA_CA_CERTS,指向你的PEM证书路径。
2. macOS/Linux系统
在终端中执行:
export NODE_EXTRA_CA_CERTS=/路径/到/你的/证书文件.pem postman login --with-api-key <你的API密钥>
如果需要永久生效,可以将export命令添加到~/.bashrc、~/.zshrc等shell配置文件中。
补充说明
- Postman CLI基于Node.js开发,
NODE_EXTRA_CA_CERTS环境变量会让Node.js信任指定的CA证书,从而解决证书链验证失败的问题 - 确保PEM文件包含完整的证书链(根证书+中间证书),顺序不影响,但要保证内容完整无格式错误
内容的提问来源于stack exchange,提问作者NIIN
相关产品推荐
相关产品推荐

