Android 如何读取APK 签名信息
2015-03-25 12:35
316 查看
Android 如何读取APK 签名信息,不用多言,直接上代码:
package com.test.mytest; import java.io.ByteArrayInputStream; import java.security.cert.CertificateException; import java.security.cert.CertificateFactory; import java.security.cert.X509Certificate; import java.util.Iterator; import java.util.List; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.PackageManager; import android.util.Log; public class MyTestClass1 { public void CheckSignature(Context context){ byte[] signature = getSign(context); String publickey = getPublicKey(signature); Log.d("CheckSignature", "publickey = " + publickey); } private byte[] getSign(Context context) { PackageManager pm = context.getPackageManager(); List<PackageInfo> apps = pm.getInstalledPackages(PackageManager.GET_SIGNATURES); Iterator<PackageInfo> iter = apps.iterator(); while (iter.hasNext()) { PackageInfo info = iter.next(); String packageName = info.packageName; //按包名读取签名 if (packageName.equals("com.example.resign_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)); return cert.getPublicKey().toString(); } catch (CertificateException e) { e.printStackTrace(); } return null; } }
相关文章推荐
- Android 如何读取未安装的APK 签名信息
- Android 读取APK签名信息
- Android 读取APK签名信息
- android 读取apk签名信息
- Android 读取APK签名信息
- Android如何查看APK签名信息
- 如何读取APK中的签名信息
- Android 读取APK签名信息
- Android 读取APK签名信息
- android大杂烩--一个应用如何读取另一个apk中的资源
- android apk签名(为什么 如何做 验证)
- Android 应用程序(APK) 如何获得系统签名权限 强制关闭程序(后台进程)
- android 开发之 使用Android系统隐藏api 读取*.apk 程序安装包信息
- android apk签名(为什么 如何做签名)
- 如何给Android的apk重新签名
- 使用Android系统隐藏api 读取*.apk 程序安装包信息
- Android获取apk程序签名信息代码示例
- android下如何读取nand、sd卡cid等其他信息
- Android平台上如何让应用程序获得系统权限以及如何使用platform密钥给apk签名
- android apk签名(为什么 如何做 验证)