您现在的位置: 万盛学电脑网 >> 程序编程 >> 网络编程 >> 安卓开发 >> 正文

android怎样获取应用签名信息

作者:佚名    责任编辑:admin    更新时间:2022-06-22

 public void getSingInfo() {
try {
PackageInfo packageInfo = getPackageManager().getPackageInfo(
"com.example.yao", 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();

System.out.println("pubKey:" + pubKey);
System.out.println("signNumber:" + signNumber);
} catch (CertificateException e) {
e.printStackTrace();
}
}