You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何更换Postman的SSL证书?iOS模拟器代理HTTPS证书信任问题咨询

解决iOS模拟器通过Postman代理监控HTTPS请求的证书信任问题

嘿,我刚好碰到过完全一样的问题!折腾了半天终于搞定了,核心就是用自己在macOS生成的CA根证书替换Postman自带的过期证书,下面是一步步的操作:

1. 在macOS生成自签名CA根证书

打开终端,依次执行以下命令(密码要记好,后面会用到):

# 生成CA私钥
openssl genrsa -des3 -out myCA.key 2048
# 生成有效期10年的根证书
openssl req -x509 -new -nodes -key myCA.key -sha256 -days 3650 -out myCA.pem

执行时会提示输入私钥密码和证书的基本信息(比如国家、组织名),按提示填写就行,信息不用太严格,能区分开就行。

2. 让macOS信任这个CA证书

  • 找到刚生成的myCA.pem文件,双击它,会自动导入到「钥匙串访问」
  • 在钥匙串里找到这个证书,右键选择「显示简介」
  • 展开「信任」选项,把「使用此证书时」的选项改成「始终信任」
  • 关闭窗口,输入你的系统密码确认修改

3. 给iOS模拟器安装并信任CA证书

首先把证书转换成iOS支持的格式:

openssl x509 -in myCA.pem -out myCA.cer -outform der

然后:

  • 把生成的myCA.cer文件直接拖到正在运行的iOS模拟器窗口里,模拟器会弹出安装提示
  • 跟着提示完成安装后,打开模拟器的「设置」→「通用」→「关于本机」→「证书信任设置」
  • 找到你刚安装的CA证书,把信任开关打开

4. 配置Postman使用自定义CA证书

  • 打开Postman,点击右上角的齿轮图标进入「Settings」→「Proxy」页面
  • 在「SSL certificate verification」区域,选择「Custom CA certificate」,然后选中你之前生成的myCA.pem文件
  • 保存设置后重启Postman

5. 重新配置iOS模拟器代理

确保模拟器的HTTP和HTTPS代理都指向Postman的代理地址(一般是localhost:5555,具体看Postman代理设置里的端口),现在再发起HTTPS请求,Postman就能正常捕获且不会出现证书不被信任的问题了!

内容的提问来源于stack exchange,提问作者Joshua Heller

火山引擎 最新活动