获取Android应用程序的签名
16lz
2022-03-14
获取签名
private byte[] getSign(Context context) { PackageManager pm = context.getPackageManager(); Listapps = pm .getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator iter = apps.iterator(); while (iter.hasNext()) { PackageInfo info = iter.next(); String packageName = info.packageName; //按包名 取签名 if (packageName.equals("com.iceskysl.test")) { return info.signatures[0].toByteArray(); } } return null; }
获取公钥
public static String getPublicKey(byte[] signature) { try { CertificateFactory certFactory = CertificateFactory .getInstance("X.509"); X509Certificate cert = (X509Certificate) certFactory .generateCertificate(new ByteArrayInputStream(signature)); String publickey = cert.getPublicKey().toString(); publickey = publickey.substring(publickey.indexOf("modulus: ") + 9, publickey.indexOf("\n", publickey.indexOf("modulus:"))); Log.d("TRACK", publickey); return publickey; } catch (CertificateException e) { e.printStackTrace(); } return null; }
更多相关文章
- android获取联系人所有内容
- Android(安卓)获取设备宽高分辨率
- android wifi 操作
- Android获取通话记录
- android 从矢量图SVG获取位图bitmap
- android gps经纬度实时更新,获取卫星数量
- Android(安卓)Google 地图学习
- Android(安卓)对UI操作的工具类UIUtils
- Android获取单选与复选框的值