我正在尝试在我的应用程序中使用证书固定,我发现我可以直接使用OkHttp,或者通过Android网络安全配置实现。
我能想到的两个实际区别是:
- 在Android 7以下版本中,支持使用OkHttp方法。
- 即使不使用OkHttp,Android网络安全配置方法也适用。
还有其他区别吗?
我正在尝试在我的应用程序中使用证书固定,我发现我可以直接使用OkHttp,或者通过Android网络安全配置实现。
我能想到的两个实际区别是:
还有其他区别吗?
OkHttp方法支持Android 7以下版本
是的,但自己编写如此重要的安全软件并不容易,即使您在安全和证书固定方面很熟练,也很容易出现问题。
如果您确实需要支持Android API 24以下的证书固定,则建议您使用TrustKit:
TrustKit Android是一个开源库,可轻松在任何Android应用程序中部署SSL公钥固定和报告。
即使不使用OkHttp,Android网络安全配置方法仍然适用
这是它的主要优点之一,除了事实上它不容易出现编程错误,只有配置错误,例如未正确提取要固定的域的公钥固定和/或其中有拼写错误。
幸运的是,我们现在有一个在线免费工具可以帮助我们防止此类错误。 Mobile Certificate Pinning Generator将为我们想要在移动应用程序中固定的域提供一个准备好使用的network_security_config.xml
文件。
例如:
现在,您只需要将文件复制粘贴到项目中,该工具甚至有一步一步的教程,以向我们展示如何正确执行它。
您还可以使用该工具获取用于TrustKit的固定值:)