java - android.security.KeyChainException : java. lang.IllegalStateException: uid <> 没有权限访问请求的别名

标签 java android security keychain

当我在旋转屏幕后重新创建 Activity 时尝试获取之前选择的私钥时,出现此错误。

我看过 this question here,这表明 choosePrivateKeyAlias() 需要“在安装应用程序后至少调用一次”。在这种情况下,它被调用了很多次,包括应用程序在屏幕旋转发生之前启动时 - 那么为什么它被认为是一个新应用程序? uid 是否发生了某种变化?

调用如下:

PrivateKey privateKey = KeyChain.getPrivateKey(getBaseContext(), 别名);

我刚刚注意到另一个问题是使用 getCertificateChain 而不是 getPrivateKey - 这有区别吗?

最佳答案

为了后代,并重复我的评论,问题是别名没有被正确存储,所以这个调用试图访问一个完全不相关或不存在的私钥。

关于java - android.security.KeyChainException : java. lang.IllegalStateException: uid <> 没有权限访问请求的别名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46363280/

相关文章:

java - JTable 列中可单击按钮的问题

android - 如何在微调器周围创建自定义微调器,如右侧向下三角形的边框?

java.lang.ClassCastException : oracle. sql.CLOB 无法转换为 oracle.sql.CLOB

java - Android Studio 中的布局设计为空

android - 法线贴图与法线坐标

java - listview.setAdapter(null) 似乎不起作用

https - 重播针对HTTPS请求的攻击

javascript - 有什么好的方法可以防止JavaScript多人游戏作弊?

security - Cakephp 安全性

Android 上的 Java 横向卷轴游戏