当前位置: 首页 > news >正文

集团网站建设详细策划jetpack报错 wordpress

集团网站建设详细策划,jetpack报错 wordpress,公众号平台文章wordpress,觅图网免费素材图库最近在项目中遇到了读取证书中内容与读取keystore中对应公钥的需求#xff0c;在此做一下笔记读取证书最近项目中遇到后台返回个byte[]数组类型的证书#xff0c;需要从证书中获取相关内容#xff0c;先看一下相关代码BufferedInputStream mStream null;try {String s new…最近在项目中遇到了读取证书中内容与读取keystore中对应公钥的需求在此做一下笔记读取证书最近项目中遇到后台返回个byte[]数组类型的证书需要从证书中获取相关内容先看一下相关代码BufferedInputStream mStream null;try {String s new String(cert);//cert为后台返回的byte[]数组StringBuilder builder new StringBuilder();builder.append(-----BEGIN CERTIFICATE-----\n).append(s).append(\n-----END CERTIFICATE-----);mStream new BufferedInputStream(new ByteArrayInputStream(builder.toString().getBytes()));//参数 x.509为证书类型注意X.509 的 CertificateFactory 返回的证书必须是 java.security.cert.X509Certificate 的实例CertificateFactory instance CertificateFactory.getInstance(X.509);X509Certificate certificate (X509Certificate) instance.generateCertificate(mStream);Principal sigAlgName certificate.getSubjectDN();//主体名// certificate.getSigAlgName();//签名算法//certificate.getNotBefore();//有效期//certificate.getIssuerDN();//签发者} catch (CertificateException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}finally{if(mStream ! null ){mStream.close();}} 关于CertificateFactory类:此类定义了用于从相关的编码中生成证书、证书路径 (CertPath) 和证书撤消列表 (CRL) 对象的 CertificateFactory 功能。 关于X.509X.509是一种基本的证书格式x509证书由用户公共密钥和用户标识符组成。此外还包括版本号、证书序列号、CA标识符、签名算法标识、签发者名称、证书有效期等信息。开始时我是直接将数组转为String进行读取运行后报读取证书异常检查代码无果后打开本地证书与String进行格式比较后发现了关键就是代码中-----BEGIN CERTIFICATE----------END CERTIFICATE-----注这两个字符串分别就是证书的开始标签与结束标签只有开始与结束拼接上面两个字符串后才会是个完整的证书(拼接时注意要加换行符否则还不是个完整的证书)读取到证书后就可获取需要的信息了。读取Keystore中公钥参考资料传送门读取Keystore公钥其实与上面类似通过PackageInfo获取到本地证书后进行读取在读取证书时无需拼接以上两个标识符读取到的就是完整证书。在获取公钥时获取到的公钥格式包括一些字符串等信息需要自己进行截取处理一下。代码如下public void getPublicKey() {String signcode ;try {PackageInfo packageInfo mContext.getPackageManager().getPackageInfo(mContext.getPackageName(),PackageManager.GET_SIGNATURES);//Signature需注意 该类导包时有两个包 一个为java.signature 安卓中需要 android.content.pm.Signature包Signature[] signs packageInfo.signatures;Signature sign signs[0];signcode parseSignature(sign.toByteArray());signcode signcode.toLowerCase();//如有大写字符 都换为小写//signcode 便是需要的公钥} catch (Exception e) {LogUtill.debug(e.getMessage());}}private String parseSignature(byte[] signature) {String sign ;try {CertificateFactory certFactory CertificateFactory.getInstance(X.509);X509Certificate cert (X509Certificate) certFactory.generateCertificate(new ByteArrayInputStream(signature));String pubKey cert.getPublicKey().toString();String ss subString(pubKey);ss ss.replace(,, );ss ss.toLowerCase();int aa ss.indexOf(modulus);int bb ss.indexOf(publicexponent);sign ss.substring(aa 8, bb);} catch (CertificateException e) {LogUtill.debug(e.getMessage());}return sign;}private String subString(String sub) {Pattern pp Pattern.compile(\\s*|\t|\r|\n);Matcher mm pp.matcher(sub);return mm.replaceAll();}如有问题欢迎指正。
http://www.pierceye.com/news/993492/

相关文章:

  • 网站建设云南做静态网站成本
  • 超低价的锦州网站建设网站开发有哪些软件有哪些
  • 中英文网站后台photoshop做网站
  • 优秀网站开发公司软件开发工具与环境实践报告
  • 茂名网站开发网站关键词优化步骤
  • 介绍家乡的网站怎么做天眼查企业查询公司
  • 公司网站建设代理一般做多久苏州关键词优化企业
  • 北京网站网站建设vps做网站怎么加速
  • 销售网站怎么做一个公司可以做多少网站
  • 西安旅游攻略必去景点网站优化成都哪里好
  • 网站特色泉州做网站优化价格
  • 小米官方网站开发版在哪里推进门户网站建设 用好用活
  • 玉器企业网站源码软件商店哪个好用
  • 学校网站建设的安全策略江苏太平洋建设集团官方网站
  • 织梦做中英文企业网站给特宝网站商家网址怎样做
  • 网站邮箱接口怎么设置WordPress国外主机
  • 西安做网站的公司哪家好怎么样查询网站被挂黑链
  • 卯兔科技网站建设河南旅游集团 网站建设
  • 重庆网站建设c做食品网站的素材
  • 网站如何制作的简单的管理系统有哪些
  • 职高网站建设知识点一个人开发一个网站需要多久
  • c 做的网站怎么上传博客 选择 WordPress
  • dw可以做有后台的网站么?泰安抖音seo
  • 龙岗网站建设 信科网络网站备案后要做什么
  • 深圳建立网站公司网站公众号开发一般收费
  • 网站建设要做什么有关网站建设的书
  • 网站前台开发由什么做的seo网络贸易网站推广
  • 网站设计与开发范本wordpress 左图右文
  • 网站后台的搭建seo网站推广教程
  • 长春做网站的公司男生怎么找的小资源