iOS13 public beta7 有 Charles 证书问题,无法 SSL 代理

Posted

技术标签:

【中文标题】iOS13 public beta7 有 Charles 证书问题,无法 SSL 代理【英文标题】:iOS13 public beta7 have problem with Charles certificate and unable to SSL proxying 【发布时间】:2019-08-28 03:29:21 【问题描述】:

我的 iPhone 7 还是 ios 12 时一切正常。升级到 iOS13 public beta7 后,我发现我的 iPhone 无法使用 Charles 3.x 版本进行 SSL 代理。

查尔斯说:

SSLHandshake:握手期间远程主机关闭连接

您可能需要配置您的浏览器或应用程序以信任 Charles 根证书。请参阅“帮助”菜单中的 SSL 代理。

【问题讨论】:

我不得不问,因为你没有在你的问题中澄清:你信任查尔斯根证书吗? charlesproxy.com/documentation/using-charles/ssl-certificates 因为我确实信任证书,iPhone 在运行 iOS12 时可以进行 SSL 代理 可能与 iOS 13 中的新 SSL 要求有关:support.apple.com/en-us/HT210176(毕竟,这种中间人操作正是此类技术旨在防止的!) 没有“3.x 版本”。您正在运行什么实际版本? 4 是三年前推出的 - 你尝试过升级吗?你试过asking the developer吗? 【参考方案1】:

按照查尔斯给出的步骤。 授予对 Charles 证书的信任后,需要再执行 1 步,以启用完全信任: https://support.apple.com/en-nz/HT204477

【讨论】:

【参考方案2】:

据我所知,Apple 已发布 new security requirements 用于 iOS 13 和 macOS 10.15 中的 TLS 服务器证书。因此,您的 Charles CA 根证书可能已过期。我认为您可以尝试删除该证书并重新安装并使用最新版本的 Charles 信任 Charles CA 以查看它是否有效(希望 Charles 已更新并修复了此错误)。我已从 Charles 切换到 Proxyman,他们也发布了修复此错误的版本:https://github.com/ProxymanApp/Proxyman/releases/tag/1.4.4.1

【讨论】:

【参考方案3】:

iOS 14.3 上的相同问题。我的解决方案是重新安装证书。这需要在 Charles 中重新生成 Root 证书,访问 chls.pro/ssl 时会提示安装新的 最近我将设备恢复为出厂设置,可能这导致出现此错误。

【讨论】:

以上是关于iOS13 public beta7 有 Charles 证书问题,无法 SSL 代理的主要内容,如果未能解决你的问题,请参考以下文章

升级 Xcode 11 beta 7?先把 macOS Catalina 也升了;滴滴跨端框架正式发布;Lookin 手机端开源

Xcode 8 Beta 6 不支持 iOS 10 Beta 7 sdk

如何使用 vuetify@2.0.0-beta7

Xcode 11 Beta 7 命令 PhaseScriptExecution 失败,退出代码非零([CP] Copy Pods Resources)

核心位置作为 ObservableObject 的 SwiftUI 崩溃

xcode6 beta7 prepareForSegue 抛出 EXC_BAD_ACCESS