无法在Android 11上安装CA证书

时间:2020-04-23 11:36:17

标签: android certificate android-11

在Android 11的预览版上,尝试安装CA证书时出现错误:

Intent intent = new Intent("android.credentials.INSTALL");
intent.putExtra("name", getCertName());
intent.putExtra("CERT", getCert());
startActivity(intent);

错误消息是:

无法安装CA证书

CA证书可能会使您的隐私受到威胁,因此必须将其安装在 设置。

enter image description here

我没有在 Android文档中找到有关此更改的任何内容。有任何想法吗?有什么解决方法(除了可以通过设置手动安装)?

更新(28/4):

在issuetracker中发现一个错误:https://issuetracker.google.com/issues/151858120

2 个答案:

答案 0 :(得分:1)

Android 11企业更改日志here中对此有一个很小的注释:

注意:安装在非托管设备上或设备的个人资料中的应用程序无法再使用createInstallIntent()安装CA证书。相反,用户必须在“设置”中手动安装CA证书。

听起来像是故意的,您将无法在正常的非托管设备上解决它。您要么需要研究完整的Android设备管理,要么向用户提供有关手动设置的说明。

请注意,将您的应用注册为普通设备管理员应用也是不够的。要使用其余DevicePolicyManager.installCaCert API,您的应用必须是设备或配置文件的<所有者>

这意味着从Android 11+开始,您可以为仅在设备上单独且隔离的工作配置文件中使用的CA证书进行自动设置,也可以为预先安装了应用程序的新设备进行自动设置。

>

答案 1 :(得分:0)

我也遇到同样的问题。

请在android 11或11+中执行以下步骤。

在Android 11中,要安装CA证书,用户需要手动进行以下操作:

  1. 打开设备设置
  2. 转到“安全性”
  3. 转到“加密和凭据”
  4. 转到“从存储设备安装”或“安装证书”(取决于设备)
  5. 从可用类型列表中选择“ CA证书”
  6. 接受警告警报。
  7. 浏览到设备上的证书文件并打开它
  8. 确认证书安装