我已使用代号一个框架实现了一个企业应用程序,但该应用程序正在接受来自可信CA的自签名证书,该证书被称为固定漏洞的证书。
那么,我怎样才能禁止该应用程序接受所有证书,如 org.apache.http.conn.ssl.AllowAllHostnameVerifier或SSLSocketFactory.ALLOW_ALL_HOSTNAME_VERIFIER?
此外,如何删除WRITE_EXTERNAL_STORAGE权限,我还发现有一个未知权限是com.google.android.c2dm.permission.RECEIVE。我该如何删除?
此外,如何在代号1中禁用android的debuggable标志以及如何保护二进制文件,以便没有人可以进行逆向工程。
谢谢,
答案 0 :(得分:1)
Codename默认情况下,一个应用程序被混淆,并且比典型的本机应用程序更难逆向工程,因为我们不使用易于逆向工程的XML格式。对于我们默认构建的发行版本,也禁用Debuggable标志,除非您在设置中明确说明或未设置签名证书。
WRITE_EXTERNAL_STORAGE
是我们默认添加的特殊情况权限,用于与旧版Android兼容。您可以使用构建提示android.blockExternalStoragePermission=false
禁用它。根据API使用情况添加其他权限,如developer guide。
自最初询问问题see this post以来,已实施证书固定(或SSL固定)。