使用Intent在android上安装CA在android 2.3上不起作用
我试图在HTC Desire的设备Android版本2.3.5和HTC Sense版本3.0中以编程方式添加CA证书 我正在使用以下代码:使用Intent在android上安装CA在android 2.3上不起作用,android,https,ca,Android,Https,Ca,我试图在HTC Desire的设备Android版本2.3.5和HTC Sense版本3.0中以编程方式添加CA证书 我正在使用以下代码: Intent intent = new Intent("android.credentials.INSTALL"); intent.putExtra("name","testCA"); intent.putExtra("CERT", bytes); startActivityForResult(intent, CA_CERT_ADDED); startAct
Intent intent = new Intent("android.credentials.INSTALL");
intent.putExtra("name","testCA");
intent.putExtra("CERT", bytes);
startActivityForResult(intent, CA_CERT_ADDED);
startActivityForResult(intent, CA_CERTIFICATE_ADDED);
当我运行代码时,会出现一个对话框,说明我正在安装CA证书,还会显示Toast消息,说明CA已成功安装
但在activity result中,我对resultCode也得到了0(activity.result\u已取消)
在其他类型的带有android 4.0的设备S3上,它工作正常
以前有没有人遇到过这个问题,有没有解决办法。这个方法对我很有效,试试看 公共静态void exportCACertToUserStore(上下文){
仍然存在此问题:)您将如何取回此证书?
String ACTION_INSTALL = "android.credentials.INSTALL";
String EXTRA_CERTIFICATE = "CERT";
Intent intent = new Intent(ACTION_INSTALL);
intent.setClassName("com.android.certinstaller","com.android.certinstaller.CertInstallerMain");
try {
String keystoreCAExportFullPath = PreferenceUtils.getCAExportFilePath(context.getApplicationContext());
File caExportFile = new File(keystoreCAExportFullPath);
byte[] result = new byte[(int) caExportFile.length()];
FileInputStream in = new FileInputStream(caExportFile);
in.read(result);
in.close();
intent.putExtra(EXTRA_CERTIFICATE, result);
context.startActivity(intent);
}catch (Exception ex){
ex.printStackTrace();
}
}