避免在配置文件中开启应用备份和恢复开关。
避免将敏感数据存放到剪贴板中。
避免将敏感数据写入公共数据库、存储区中。
对跨信任边界传入的Intent须进行合法性判断,防止应用异常崩溃。
避免通过隐式方式进行调用组件,防止组件劫持。
避免使用Socket方式进行本地通信,如需使用,localhost端口号随机生成,并对端口连接对象进行身份认证和鉴权。
应用作为服务提供方需要校验服务使用方的身份和访问权限,防止非授权服务使用方进行身份仿冒或者权限绕过。
避免通过隐式方式发送公共事件,防止公共事件携带的数据被劫持。
建议使用Https代替Http进行通信,并对Https证书进行严格校验。
对于涉及支付及高保密数据的应用,建议进行手机root环境监测。
禁止应用执行热更新操作,应用更新可以通过应用市场上架来完成。
涉及外部开源代码或代码漏洞的情况,须关注代码的安全动态和版本更新情况并及时修复。
建议开启安全编译选项,增加应用分析逆向难度。
建议应用在开发阶段进行自测试,具体请参考应用安全测试。
应用申请的权限,都必须有明确、合理的使用场景和功能说明,确保用户能够清晰明了地知道申请权限的目的、场景、用途;禁止诱导、误导用户授权;应用使用权限必须与申请所述一致。
应用权限申请遵循最小化原则,只申请业务功能所必要的权限,禁止申请不必要的权限。
应用在首次启动时,避免频繁弹窗申请多个敏感权限;敏感权限须在用户使用对应业务功能时动态申请。
用户拒绝授予某个权限时,与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。
业务功能所需要的权限被用户拒绝且禁止后不再提示,当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到“系统设置”中授权。
非系统应用自定义权限名,禁止使用系统权限名前缀(如: 以ohos开头为系统权限),建议以应用包名或公司反域名为前缀,防止与系统或其他应用定义的权限重名。
有关于应用动态申请敏感权限的详细信息,请参阅动态申请权限。
应用调试完毕后,可以进行打包HarmonyOS应用,在AGC提交上架申请。为了确保HarmonyOS应用的完整性,确保提交应用的开发者身份合法,HarmonyOS通过数字证书和Profile文件对应用进行管控。上架到华为应用市场的APP必须通过签名才允许上架。因此,为了保证应用能够顺利发布,需要提前申请相应的发布证书与发布Profile。
提交发布申请后,应用市场将对应用进行安全审核,包括权限、隐私、安全等,如果审核不通过则不能上架;应用发布成功后,华为应用市场会对上架应用进行重签名,原有的应用签名将被替换为新签名。