我正在使用 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 使用的默认 key 是 MD5。 有什么想法吗?
2014 年 2 月 13 日更新:
我最初已经放弃了这个,但最近看到一篇关于在真实设备上使用 Charles 代理通过向 iPhone 添加证书来捕获 SSL 流量的文章。按照此处的说明进行操作后,它就可以工作了!
http://www.charlesproxy.com/documentation/faqs/ssl-connections-from-within-iphone-applications/
所以现在我知道解决方案是可能的,但我仍然坚持如何让它工作 - 现在使用 JMeter 2.11 和 iOS 7
谢谢 俄斐尔
最佳答案
这些相关问题可能会有所帮助:
关于ios - JMeter - 如何将代理与安全移动页面一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17811082/