Android实现获取签名及公钥的方法

本文实例讲述了Android实现获取签名及公钥的方法。分享给大家供大家参考。具体如下:

1. java代码如下: 

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.test.test")) {

return info.signatures[0].toByteArray();

}

}

return null;

}

2. java代码如下:

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实现获取签名及公钥的方法 的全部内容, 来源链接: utcz.com/z/334235.html

回到顶部