一、背景
基于车厂信息安全要求,车载热点默认名称不能使用统一的名称,以及默认密码不能为简单的1~9。
基于旧项目经验,组装工厂自动化测试及客户整车组装的时候均存在多台设备同时打开,亦不太推荐使用统一的热点名称,连接无法区分。
二、需求
根据客户的要求,默认名称使用车厂车型项目名称+VIN码后四位,默认密码为车厂英文缩写+TUID后四位。
三、分析
热点默认名称及密码生成在源码
frameworks/opt/net/wifi/service/java/com/android/server/wifi/WifiApConfigStore.java
的getDefaultApConfiguration和generatePassword方法中。
由于需要静态字符+可变字符的形式,同时需兼容其他项目。故在此考虑定义一种规则的字符串定义,将末尾为固定字符的字符替换为动态生成的字符串。
四、实现
1、修改源码生成策略
由于项目的VIN码和TUID均同步保存在对应系统属性(可根据实际项目定义调整)中,故可通过如下方式修改:
/**
* Generate a default WPA3 SAE transition (if supported) or WPA2 based
* conf