获取上面反编译apk中的签名证书信息.
public static StringBuffer getCert(Activity activity) {
PackageManager pm = activity.getPackageManager();
StringBuffer sb = new StringBuffer();
try {
PackageInfo info = pm.getPackageInfo(activity.getPackageName(), activity.getPackageManager().GET_SIGNATURES);
Signature[] sigs = info.signatures;
for (Signature sig : sigs) {
final byte[] rawCert = sig.toByteArray();
InputStream certStream = new ByteArrayInputStream(rawCert);
final CertificateFactory certFactory;
final X509Certificate x509Cert;
try {
certFactory = CertificateFactory.getInstance("X509");
x509Cert = (X509Certificate) certFactory.generateCertificate(certStream);
sb.append("Certificate subject:" + x509Cert.getSubjectDN() + "\n\n");
sb.append("Certificate issuer:" + x509Cert.getIssuerDN() + "\n\n");
sb.append("Cretificate serival number:" + x509Cert.getSerialNumber() + "\n\n");
} catch (Exception e) {
//e.printStackTrace();
}
}
} catch (PackageManager.NameNotFoundException e) {
//e.printStackTrace();
}
return sb;
}