android - 使用 Burp 拦截时 Android 上的 TLS 证书错误 - 使用 Facebook 应用程序
问题描述
设置:
具有 wlan0 接口的 Raspberry Pi 3 作为接入点 (192.168.2.0/24) 和 eth0 (192.168.1.0/24) 作为 Internet 的默认网关。Pi 具有配置为将 Web(端口 80、443)流量转发到我的 PC(在 eth0 子网上)上运行的 Burp 代理的 iptables 预路由规则。我将我的 Android 手机(版本 9)连接到接入点 (AP),所有网络流量都被重定向到代理。证书:我下载了 Burp 证书并将其安装在我的 Android 手机中(更改扩展名后)。
我可以很好地访问 HTTP 流量。我遇到 HTTPS 流量的证书错误。我的浏览器(Brave、Chrome、Firefox)显示证书错误NET::ERR_CERT_COMMON_NAME_INVALID
。在调查中,我发现应该在自签名证书中设置 SAN(主题替代名称)以使浏览器信任它。我在 Stackoverflow 上看到了各种答案,解释了如何使用 OpenSSL 生成这样的证书。我生成了一个并将其导入 Burp 以及我的 Android。
但是,对于 HTTPS 流量,我得到了同样的错误。
我尝试使用 Facebook 应用程序。甚至应用程序也无法加载任何数据。在进行数据包捕获时,我发现在进行 TLS 协商时,它会收到一个证书错误,上面写着(警报:致命 - 未知 CA)。
我错过了什么?
我更感兴趣的是让 facebook 应用程序信任这个证书并检查 Burp 上的流量。请指教。
解决方案
推荐阅读
- android - 为什么我的 kivy 应用程序在加载后立即关闭?
- python - 自定义愿景:剩余配额
- python - 在Django的views.py中从html选择中获取值
- ios - 在 swiftUI 上使用 ondelete 擦除多个字符串
- java - 修复:我已将 sinch jar 文件添加到 libs 文件夹并作为 android studio 中的库,但是当我导入 sinch 或相关类时,它不显示导入选项
- google-apps-script - Google App Script MailApp 停止发送电子邮件
- flutter - 如何使用 2 个流,其中流 2 取决于流 1?
- python - 如何将多个json记录放入mongoDB?
- c# - 从 Windows 窗体打开网页 (HTML)
- python - 如何比较每个数据框不同大小的值并返回字符串