Android之获取证书文件(pfx格式)的公钥和私钥
来源:互联网 发布:淘宝嘉定仓库 编辑:程序博客网 时间:2024/05/08 20:16
1、把pfx证书文件放入sdcard
adb push ***.pfx /sdcard/
2、解析获取公钥和私钥
//证书解析String path = Environment.getExternalStorageDirectory().getPath() + "/sim_shield.pfx"; public static Map<String, byte[]> parsePfx(String pfxPath, String pwd) { Map<String, byte[]> keyMap = new HashMap<String, byte[]>(); try { KeyStore ks = KeyStore.getInstance("PKCS12"); FileInputStream fis = null; try { fis = new FileInputStream(pfxPath); } catch (Exception e) { Log.i("sss", "new FileInputStream fail"); } char[] nPassword = pwd.toCharArray(); ks.load(fis, nPassword); fis.close(); Enumeration<String> aliases = ks.aliases(); String keyAlias = null; PrivateKey prikey = null; while (true) { try { keyAlias = aliases.nextElement(); prikey = (PrivateKey) ks.getKey(keyAlias, nPassword); if (null != prikey) { break; } else { Log.i("sss", "prikey is null"); } } catch (NoSuchElementException e) { Log.i("sss", "NoSuchElementException"); return null; } } Certificate cert = (Certificate) ks.getCertificate(keyAlias); Log.i("sss", "while after"); if (null != prikey && prikey.getEncoded().length > 0) { keyMap.put(PRI_KEY, prikey.getEncoded()); Log.i("sss", "private_key is :" + prikey.getEncoded()); } else { Log.i("sss", "private_key is null"); } Log.i("sss", "prikey after"); if (null != cert && cert.getEncoded().length > 0) { keyMap.put(PUB_KEY, cert.getEncoded()); Log.i("sss", "PUBKIC_KEY is :" + cert.getEncoded()); } else { Log.i("sss", "public_key is null"); } return keyMap; } catch (Exception e) { Log.i("sss", "parsePfx will return null"); return null; } }
3、加上权限
<uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
阅读全文
0 0
- Android之获取证书文件(pfx格式)的公钥和私钥
- 从PFX文件中获取私钥、公钥证书、公钥
- 公钥证书cer,pfx
- JAVA从一个.p12或.pfx文件中获取公钥和私钥
- java从 .pfx或.p12文件中获取公钥和私钥
- pfx证书提取公私钥的方法
- pfx证书提取公私钥的方法
- pfx文件解析私钥和公钥
- .NET pfx文件解析私钥和公钥
- 获取Android签名证书的公钥和私钥
- PFX证书文件制作
- .pfx格式和.Cer格式的区别
- Java处理PFX格式证书
- 证书pfx转pem格式
- nginx中使用pfx格式的ssl证书
- android https通过加载pfx证书获取数据
- 配置Tomcat安全证书-PFX格式证书
- jks(私钥)keystore(私钥)truststore(受信任的公钥)cer(公钥)pfx(浏览器);密钥对,公钥,证书,私钥,jks,keystore,truststore,cer,pfx说明
- PopWindows背景半透明设置
- 利用差分实现的树状数组区间修改 区间求和
- SP2-0750: You may need to set ORACLE_HOME to your Oracle software directory
- Error:A problem was found with the configuration of task ':app:packageBAIDURelease'.
- 集合(3)把一个集合插入到另一个集合中
- Android之获取证书文件(pfx格式)的公钥和私钥
- 单项链表之创建
- Android 代码实现viewPager+fragment 模仿今日头条的顶部导航
- 【client_ip】通过v$session查询客户端的IP信息
- caffe基础-11绘制网络
- 数据仓库--数据仓库系统的实现与使用(含OLAP重点讲解)
- IOS下载大型文件
- StringBuilder万万不可作为HashMap的key
- TrickGCD