如何获取Android设备中安装的所有用户CA证书的列表?

问题描述 投票:0回答:3

需要获取设备上安装的所有用户CA证书的列表。我们可以通过运行来获取系统证书

adb shell cat /system/etc/security/cacerts/* | grep Issuer:

是否也有类似的方法来获取用户证书?如果不可能,我们可以至少打开显示设备中安装 CA 证书的活动吗?

android adb
3个回答
1
投票

显示用户添加的证书的活动是

com.android.settings.TRUSTED_CREDENTIALS_USER

证书存储在

/data/misc/keychain/cacerts-added
文件夹中


0
投票

设置->安全->可信凭据。转到“用户”选项卡查看用户安装的 CA。


0
投票

如果您想在没有 ADB 的 Android 应用程序中检索 CA 证书,可以这样做。

这是一些示例 (Kotlin) 代码,用于列出 Android 设备上所有用户安装的 CA 证书。 如果您将 “用户” 更改为 “系统”,您将获得所有预安装的 CA 证书:

val userInstalledCaCertificates: List<X509Certificate> = try {
  val keyStore = KeyStore.getInstance("AndroidCAStore")
  keyStore.load(null, null)
  val aliasList = keyStore.aliases().toList().filter { it.startsWith("user") }
  aliasList.map { keyStore.getCertificate(it) as X509Certificate }
} catch (e: Exception) {
  emptyList()
}
© www.soinside.com 2019 - 2024. All rights reserved.