Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android SSL代理适用于除一个应用程序之外的所有应用程序_Android_Charles Proxy - Fatal编程技术网

Android SSL代理适用于除一个应用程序之外的所有应用程序

Android SSL代理适用于除一个应用程序之外的所有应用程序,android,charles-proxy,Android,Charles Proxy,我已经在主机上成功设置了Charles代理,这样当请求来自浏览器或虚拟设备上的大多数android应用程序时,我就可以从android虚拟设备查看SSL流量。但是,我看不到来自某个特定应用程序的SSL流量。当该应用发出SSL请求时,条目在Charles中显示为“SSL握手:收到致命警报:握手失败” 因为我可以拦截来自其他应用程序的SSL流量,所以我认为可能有问题的应用程序忽略了用户接受的根证书。这可能吗?如果是这样,可以解决吗?不工作的应用程序可能在SSL握手过程中使用公钥检查(也称为公钥锁定)

我已经在主机上成功设置了Charles代理,这样当请求来自浏览器或虚拟设备上的大多数android应用程序时,我就可以从android虚拟设备查看SSL流量。但是,我看不到来自某个特定应用程序的SSL流量。当该应用发出SSL请求时,条目在Charles中显示为“SSL握手:收到致命警报:握手失败”


因为我可以拦截来自其他应用程序的SSL流量,所以我认为可能有问题的应用程序忽略了用户接受的根证书。这可能吗?如果是这样,可以解决吗?

不工作的应用程序可能在SSL握手过程中使用公钥检查(也称为公钥锁定)。这是一种旨在防止中间人攻击的安全机制。我认为在中间设置代理会改变握手期间传递给客户端的证书链,这就是失败的原因。

如果您无法检查此应用程序的流量的原因确实是公钥锁定-恐怕没有解决方法(至少在合理的时间内没有)。应用程序需要您没有的特定公钥

有关公钥固定的更多信息:

我希望这有帮助