Android操作系统证书固定

时间:2015-10-30 07:41:17

标签: android ssl-certificate pinning

我将首先介绍Android操作系统证书固定的非常简短的介绍。从Android系统/操作系统级别的4.2版开始,引入了SSL / TLS证书固定(有关详细信息,另请参阅此URL)。使用此机制的固定证书列表位于:" / data / misc / keychain / pins" ,默认情况下包含大约40个Google服务条目,例如mail.google.com ,youtube.com等。我非常希望通过将其添加到此列表中来固定我自己的证书。但是,修改此列表需要Android权限(android.permission.WRITE_SECURE_SETTINGS),该权限仅适用于系统应用。

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

1 个答案:

答案 0 :(得分:0)

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

您能做的最好的事情是覆盖 shouldInterceptRequest 并使用 Android Security: SSL Pinning 中描述的方法之一自己实现网络调用,但是这只会拦截 GET 请求,因此如果您的 WebViews 使用 POST 请求,那么您就不走运。 Android-SSL-Pinning-WebViews 显示了执行此操作的示例。