获取签名公钥的代码(未测)
来源:互联网 发布:mac怎么同时开两个窗口 编辑:程序博客网 时间:2024/06/16 06:12
- public class GetPublicKey {
- /**
- * 获取签名公钥
- * @param mContext
- * @return
- */
- protected static String getSignInfo(Context mContext) {
- String signcode = "";
- try {
- PackageInfo packageInfo = mContext.getPackageManager().getPackageInfo(
- GetAppInfo.getPackageName(mContext), PackageManager.GET_SIGNATURES);
- Signature[] signs = packageInfo.signatures;
- Signature sign = signs[0];
- signcode = parseSignature(sign.toByteArray());
- signcode = signcode.toLowerCase();
- } catch (Exception e) {
- Log.e(Constants.TAG, e.getMessage(), e);
- }
- return signcode;
- }
- protected static 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) {
- Log.e(Constants.TAG, e.getMessage(), e);
- }
- return sign;
- }
- public static String subString(String sub) {
- Pattern pp = Pattern.compile("\\s*|\t|\r|\n");
- Matcher mm = pp.matcher(sub);
- return mm.replaceAll("");
- }
- }
0 0
- 获取签名公钥的代码(未测)
- 如何获取未安装的APK的签名
- 获取已安装或未安装的apk签名
- 获取已安装或未安装的apk签名
- 获取已安装或未安装的apk签名
- 获取已安装或未安装的apk签名
- 获取已安装或未安装的apk签名
- 获取签名公钥
- 获取签名公钥
- 获取签名公钥
- 给未签名的空包签名
- 手动给未签名的apk签名
- android给未签名的apk签名
- android 对未签名的apk签名
- android给未签名的apk签名
- Android 获取签名公钥
- Android 获取签名公钥
- Android 获取签名公钥
- nginx服务器详细安装过程(使用yum 和 源码包两种安装方式,并说明其区别)
- 《反汇编基础》调用函数时栈的操作
- jsp隐式对象,四个作用域的区别
- java-pdf-(itext+adobe acrobat+pdf模板)生成pdf文件
- 前后端渲染和同构渲染
- 获取签名公钥的代码(未测)
- HttpQueryInfo 用来查询一个HTTP请求的信息。
- Discuz二次开发 教你识别程序目录和文件列表
- KLEE实验01
- ℃江让您从精通到入门:ActionBar创建自定义布局
- 微信开发
- 成功页面
- jsp---隐式对象简单介绍
- 根据动态sku属性,生产动态sku组合