我有一个中央系统应用程序,允许用户安装可用于HTTPS或Wi-Fi Enterprise连接的CA. 此应用程序可以被视为证书管理器,可以为多个应用程序提供服务。 (虽然它也做其他事情,主要是配置)
我正在开发Android Pie,这是我第一次使用Android,所以请原谅我的noobness。
基于以下链接的精彩讨论,包括尼古拉的精彩博客
我试图:
1)将我的应用程序设置为设备所有者,然后使用设备策略管理器安装证书
我这样做了(在我的电路板makefile中复制规则)
将device_policies.xml打包成/ data / system /
将device_owner.xml打包到/ data / system /
修改AndroidManifest.xml并实现设备管理类
2)使用Keystore APis将证书添加到中央AndroidCaStore
为此,我
从文件中读取证书
获取“AndroidCStore”的密钥库实例
setCertificate()
**Code snippet For (1)**
DevicePolicyManager dpm = (DevicePolicyManager)getSystemService(Context.DEVICE_POLICY_SERVICE);
ComponentName adminComp = new ComponentName(context, ConfigSettingsAdminReceiver.class);
if (dpm.isAdminActive(adminComp))
{
String CERT_FILE_1 = &