我正在使用 JMeter 的代理来记录来自移动应用程序的 HTTP 流量。它适用于非安全 HTTP 请求,但当我尝试发出 HTTPS 请求时,我收到错误:“此服务器的证书无效”(见下面的屏幕截图)。
这当然是意料之中的。如果我在 PC 上,我可以简单地点击“接受错误证书”(或类似的东西),但这不是我的移动应用程序的选项(例如,我正在测试亚马逊的应用程序)。
有没有办法让我的 iPhone(或其他移动设备)接受 JMeter 的证书?有没有另一种方法可以用真正的移动设备做到这一点?
编辑:一些答案谈论如何修改我的应用程序。我自己无法修改应用程序 - 所以我需要一个不需要任何应用程序修改的解决方案。
经过一番研究,我发现了这个链接: http: //nat.guyton.net/2012/01/20/adding-trusted-root-certificate-authorities-to-ios-ipad-iphone/
几乎可以工作:) 评论说在 iOS 6 及更高版本中使用 MD5 不起作用,并且 JMeter 使用的默认键是 MD5。有什么想法吗?
2014 年 2 月 13 日更新:
我最初放弃了这一点,但最近看到一篇关于使用 Charles 代理和真实设备通过向 iPhone 添加证书来捕获 SSL 流量的文章。按照此处的说明操作后,它可以工作了!
http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
所以现在我知道一个解决方案是可能的,但我仍然坚持如何让它工作 - 现在使用 JMeter 2.11 和 iOS 7
谢谢奥菲尔