美文网首页
查看apk签名 和 keystore 的信息

查看apk签名 和 keystore 的信息

作者: 梦沉薇露 | 来源:发表于2017-04-24 21:47 被阅读1609次

    注:获取Android应用签名最快的方法:
    http://www.jianshu.com/p/d00e9754df43

    1、查看 keystore信息

    $ keytool -list -v -keystore debug.keystore
    

    而在Android Studio中,打开 Android Studio,然后选择右边的 Gradle 标签,选择一个项目,然后选择 signingReport 这个 Task,双击运行。然后选择右下角的 Gradle Console,就可以看到签名信息了。

    2、查看三方应用或是系统应用签名

    打开待查看的apk,将其中META-INF文件夹解压出来,得到其中的CERT.RSA文件

    $ keytool -printcert -file META-INF/CERT.RSA
    

    3、给空白包签名 (注意 alias 值)

    jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
    

    jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
    keystorePath参数代表keyStore的绝对路径,如D:\keystore
    apkOut参数代表签名后的apk路径,如D:\signed.apk
    apkin参数代表未签名apk,默认名称为unsign.apk
    alias参数代表签名用的alias名称(创建keyStore时所填写),如test

    $ jarsigner -verbose -keystore debug.keystore -signedjar test2.apk unsign1.apk test
    

    4.在应用代码中获取签名信息

    public String getSHA1Signature(Context context) {
        try {
            PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
    
            byte[] cert = info.signatures[0].toByteArray();
    
            MessageDigest md = MessageDigest.getInstance("SHA1");
            byte[] publicKey = md.digest(cert);
            StringBuilder hexString = new StringBuilder();
            for (int i = 0; i < publicKey.length; i++) {
                String appendString = Integer.toHexString(0xFF & publicKey[i])
                        .toUpperCase(Locale.US);
                if (appendString.length() == 1)
                    hexString.append("0");
                hexString.append(appendString);
                hexString.append(":");
            }
            return hexString.toString();
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        }
        return null;
    }
    

    相关文章

      网友评论

          本文标题:查看apk签名 和 keystore 的信息

          本文链接:https://www.haomeiwen.com/subject/pwqmzttx.html