在Android 11的预览版上,尝试安装CA证书时出现错误:
Intent intent = new Intent("android.credentials.INSTALL");
intent.putExtra("name", getCertName());
intent.putExtra("CERT", getCert());
startActivity(intent);
错误消息是:
无法安装CA证书
CA证书可能会使您的隐私受到威胁,因此必须将其安装在 设置。
我没有在 Android文档中找到有关此更改的任何内容。有任何想法吗?有什么解决方法(除了可以通过设置手动安装)?
更新(28/4):
在issuetracker中发现一个错误:https://issuetracker.google.com/issues/151858120
答案 0 :(得分:1)
Android 11企业更改日志here中对此有一个很小的注释:
注意:安装在非托管设备上或设备的个人资料中的应用程序无法再使用createInstallIntent()安装CA证书。相反,用户必须在“设置”中手动安装CA证书。
听起来像是故意的,您将无法在正常的非托管设备上解决它。您要么需要研究完整的Android设备管理,要么向用户提供有关手动设置的说明。
请注意,将您的应用注册为普通设备管理员应用也是不够的。要使用其余DevicePolicyManager.installCaCert API,您的应用必须是设备或配置文件的<所有者> 。
这意味着从Android 11+开始,您可以为仅在设备上单独且隔离的工作配置文件中使用的CA证书进行自动设置,也可以为预先安装了应用程序的新设备进行自动设置。
>答案 1 :(得分:0)
我也遇到同样的问题。
请在android 11或11+中执行以下步骤。
在Android 11中,要安装CA证书,用户需要手动进行以下操作: