Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 安卓钥匙链监听器_Android_Keychain - Fatal编程技术网

Android 安卓钥匙链监听器

Android 安卓钥匙链监听器,android,keychain,Android,Keychain,我用过 KeyChain.choosePrivateKeyAlias 我已成功提取私钥和公钥 我想处理KeyChain的Click侦听器,不管用户是否允许安装证书 我在开发者文档中找不到任何东西 谢谢你在安卓ICS手机上,我导入了包含私钥和证书的PKCS#12文件。然后我就跑 KeyChain.choosePrivateKeyAlias(this, this, new String[] { "RSA" }, null, null, -1, null); 在证书选择对话框中,我选择刚安装的证

我用过

KeyChain.choosePrivateKeyAlias 
我已成功提取私钥和公钥

我想处理KeyChain的Click侦听器,不管用户是否允许安装证书

我在开发者文档中找不到任何东西


谢谢你

在安卓ICS手机上,我导入了包含私钥和证书的
PKCS#12
文件。然后我就跑

KeyChain.choosePrivateKeyAlias(this, this, new String[] { "RSA" }, null, null, -1, null);
在证书选择对话框中,我选择刚安装的证书

在“alias”回调中,我执行以下操作:

public void alias(final String alias) {
    ...
    protected Boolean[] doInBackground(Void... arg0) {
        ...
        PrivateKey pk = KeyChain.getPrivateKey(ctx, alias);
        Log.d(TAG, "EncodedPrivateKey: " + pk.toString());
它给出了私钥的全部内容

这是否意味着,一旦用户允许(在证书选择对话框中),任何应用程序都可以读取从.pfx文件安装的任何私钥


以下场景是否可以通过标准Android方式实现-“管理员”安装带有cert.+私钥的.pfx文件,并且读取该文件的权限仅限于一个特定应用程序?

No@user7677685证书和密钥并非特定于单个应用程序。手动或从应用程序本身安装证书后,证书将安装在Android设备上,而不是应用程序上。可以从不同的应用程序轻松访问它。