0

我将从一个非常简短的介绍开始,介绍 Android 的操作系统证书固定。从 4.2 版开始,引入了 Android 系统/操作系统级别 SSL/TLS 证书固定(另请参阅此 URL 了解更多信息。)。使用此机制的固定证书列表位于:“/data/misc/keychain/pins”,默认包含大约 40 个 Google 服务条目,如 mail.google.com、youtube.com 等。我非常喜欢通过将其添加到此列表中来固定我自己的证书。但是,修改此列表需要android.permission.WRITE_SECURE_SETTINGS仅对系统应用程序可用的 Android 权限 ( )。

有谁知道谷歌是否可以通过某种程序提交添加到此列表的请求(即/data/misc/keychain/pins)?

4

1 回答 1

0

WebView 很棘手,尤其是因为除了 Android N 使用Network Security Configuration之外,没有完美的方法可以在其中实现固定。

您可以做的最好的事情是使用Android Security: SSL PinningshouldInterceptRequest中描述的方法之一自己覆盖和实现网络调用,但这只会拦截 GET 请求,因此如果您的 WebViews 使用 POST 请求,那么您就不走运了。Android-SSL-Pinning-WebViews展示了一个这样做的例子。

于 2021-07-06T23:23:49.850 回答