Android 代码形式安装证书到手机内

需要

项目要求用户在APP中就可将选中的证书安装到手机内

一、手动安装步骤

1、在设置中选择高级选项(不同手机位置不同,也有可能在安全和隐私中),点击进入

在这里插入图片描述

2、在高级设置中选择“安全”,点击进入

在这里插入图片描述

3、在安全内选择从SD卡安装,点进进入

在这里插入图片描述

4、在这个界面(外部存储的根目录)选择你要安装的证书,点击即可。

在这里插入图片描述

5、就会调起安装界面,此时显示页面将与代码中的相同,但是这里别名出为空,需要手动输入。

二、代码中安装证书

1、其实很简单,只需要调用下面的方法即可

     /**
     * 安裝证书
     */
    public static void installCert(Context context) {
        InputStream assetsIn = null;
        Intent intent = KeyChain.createInstallIntent();
        try {
            //获取证书流,注意参数为assets目录文件全名
            assetsIn = context.getAssets().open("test.cer");
            byte[] cert = new byte[10240];
            assetsIn.read(cert);
            javax.security.cert.X509Certificate x509 = null;
            try {
                x509 = javax.security.cert.X509Certificate.getInstance(cert);
                //将证书传给系统
                intent.putExtra(KeyChain.EXTRA_CERTIFICATE, x509.getEncoded());
            } catch (CertificateException e) {
                e.printStackTrace();
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        //此处为给证书设置默认别名,第二个参数可自定义,设置后无需用户输入
        intent.putExtra("name", "别名(可设置默认)");
        startActivity(intent);
    }

2、效果如下:

①先要输入锁屏密码,如果没有设置,会要求你设置一个。点击下一步

在这里插入图片描述

②显示输入别名页面,但代码中可以设置默认别名

在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值