在代码中得到应用的签名

在代码中得到应用的签名

public void getSingInfo() {
    try {
        PackageInfo packageInfo = getPackageManager().getPackageInfo(
                "com.atguigu.p2p", PackageManager.GET_SIGNATURES);
        Signature[] signs = packageInfo.signatures;
        Signature sign = signs[0];
        parseSignature(sign.toByteArray());
    } catch (Exception e) {
        e.printStackTrace();
    }
}
public void parseSignature(byte[] signature) {
    try {
        CertificateFactory certFactory = CertificateFactory
                .getInstance("X.509");
        X509Certificate cert = (X509Certificate) certFactory
                .generateCertificate(new ByteArrayInputStream(signature));
        String pubKey = cert.getPublicKey().toString();
        String signNumber = cert.getSerialNumber().toString();
        Log.e("TAG", "pubKey:" + pubKey);
        Log.e("TAG", "signNumber:" + signNumber);
    } catch (Exception e) {
        e.printStackTrace();
    }
}
 

  

原文地址:https://www.cnblogs.com/ganchuanpu/p/6504937.html