android 安装p12证书,怎么使用P12证书的Android「建议收藏」

android 安装p12证书,怎么使用P12证书的Android「建议收藏」当点击Wi-FiSettings,Advanced界面的“安装证书”;或者在Settings的Security界面下的CredentialStorage界面点击“安装证书”。com.android.certinstaller包中的CertInstallerMain类会收到Settings发送的Credentials.INSTALL_AS_USER_ACTIONintent。然后,CertIn…

大家好,又见面了,我是你们的朋友全栈君。

当点击Wi-Fi Settings, Advanced界面的“安装证书”;或者在Settings的Security界面下的CredentialStorage界面点击“安装证书”。com.android.certinstaller包中的CertInstallerMain类会收到Settings发送的Credentials.INSTALL_AS_USER_ACTION intent。

然后,CertInstallerMain类开始创建一个线程,并开始run。在run中,因为收到了Credentials.INSTALL_AS_USER_ACTION intent, CertInstallerMain开始判断SD卡是否存在,这里,我们将证书都push到SD卡里了,SD卡当然是存在的。这种情况下,CertInstallerMain类通过其继承的CertFile类开始读取卡里的所有证书文件。CertFile类读取证书的过程很简单:它把自己设置成了一个FileFilter,在accept方法中,CertFile只接收后缀为Credentials.EXTENSION_CRT, Credentials.EXTENSION_P12, Credentials.EXTENSION_CER, Credentials.EXTENSION_PFX的文件。也就是说当前,Android只支持后缀为crt, p12,cer和pfx的数字证书。

接着,当SD卡里只有一个证书的时候它弹出一个安装提示框,当SD卡里有一堆证书的时候,它会弹出一个证书列表,这个列表由CertFileList类维护,放点击某个证书的时候,会和当SD卡里只有一个证书的时候一样,调用installFromFile方法,弹出一个对话框。CertFile类的install方法会通知CertInstaller来负责证书的安装。

CertFile类对p12证书和其它证书进行了分类,要是p12证书,我给个对话框,输入完密码就OK了。我这里,还使用了WIFI WAP需要的CA证书进行测试。对于CA证书,当点击弹出对话框的“确认”对应的按钮后,它会通过CredentialHelper类建立一个com.android.credentials.INSTALL intent发给com.android.settings.CredentialStorage类。当CertInstaller类启动后它会直接创建一个CredentialHelper类,CredentialHelper类就直接将安装的证书分类成CA和USER,所以当点击“确认”后,CredentialHelper会将CA证书的信息通过Credentials.EXTRA_CA_CERTIFICATES_NAME和Credentials.EXTRA_CA_CERTIFICATES_DATA放到com.android.credentials.INSTALL的intent中。

最后,Settings收到了这个intent,通过installIfAvailable()方法,将CA证书的信息保存到了KeyStore中。然后,Settings可以通过KeyStore来读取保存的证书。

取消

评论

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147870.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • top命令的用法「建议收藏」

    1、top命令:相当于Windows下的资源管理器,能够动态实时的显示系统中进程的资源占用情况。2、在Linux终端上输入top命令出现的结果及其表示的含义如下图:顺便说一下uptime命令3、以上是默认的显示内容,可以通过快捷键来更改显示的内容:<1>按f键:会显示如下列表选a-z键就可以显示或者隐藏对应的列,按回车键确定。<2>按o键可以改变列的显示顺序。按a-z将相应…

    2022年4月11日
    43
  • 费马小定理(易懂)_四年rain的博客_什么易懂

    费马小定理(易懂)_四年rain的博客_什么易懂费马小定理:内容:若存在整数a,p且gcd(a,p)=1,即二者互为质数,则有a^(p-1)≡1(modp)。(这里的≡指的是恒等于,a^(p-1)≡1(modp)是指a的p-1次幂取模与1取模恒等)(不理解的话请留言)证明:这里证明较为复杂需要先引出两个定理:引理一:若a,b,c为任意3个整数,m为正整数,且(m,c)=1,则当a·c≡b·c(modm)时,有…

    2022年10月21日
    0
  • mysql数据库设计工具--mysql workbench

    mysql数据库设计工具--mysql workbench关键字:Database     在windows下,有一些不错的数据库设计工具,像Powerdesign,但在linux,找来找去,还没有发现一款好的设计工具,即使找到一个dbdesign4,但死活编译不过去,最后,还是在mysql的官网上找到了mysqlworkbench.下面是截图我是通过编译源码来安装的,

    2022年7月11日
    20
  • Rancher部署报错状态一直restarting

    Rancher部署报错状态一直restarting

    2021年5月30日
    687
  • rsyslogd日志管理

    rsyslogd日志管理课程大纲1.日志管理简介2.rsyslogd日志服务3.日志轮替日志管理就是可以保存系统所有的想记录的信息首先要确定服务启动。psaux|greprsyslogd#查看服务是否启动chkconfig–list|greprsyslog#查看服务是否启动rsyslog的配置文件位置:/ect/rsyslog.conf常见日志的作用/v…

    2022年8月15日
    7
  • 逻辑斯蒂回归(Logistic Regression)

    logistic回归logistic回归经常被人译为“逻辑回归“,虽然我个人认为貌似并没有什么关联,但下面就姑且这么叫吧。逻辑回归虽然是名字里带着回归,但其实是一种解决分类问题的算法,说到分类就有分几类的区别,本篇我们只讨论用于二分类问题的逻辑回归。基本的线性回归的形式为:y=ωTx+by=ωTx+by=\omega^{T}x+b线性回归模型产生的预测值是一系列实值。为了使得输…

    2022年4月4日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号