程序签名运行后,能不能读取签名的信息呢?如keystore 的 alias或者 validity等信息?谢谢

解决方案 »

  1.   

    或者谁能详细说明下:
    .apk包中的META-INF\XXXX.RSA和META-INF\XXXX.RSA和META-INF\MANIFEST.MF
    中是否有记录着签名信息呢?
      

  2.   


    如何解析ras里面的信息呢?都是加密过的密文谢谢...
      

  3.   

    感谢曾阳提供的代码,分享如下:import sun.security.pkcs.PKCS7;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.IOException;
    import java.io.InputStream;
    import java.security.GeneralSecurityException;
    import java.security.cert.X509Certificate;/**
     * Command line tool to sign JAR files (including APKs and OTA updates) in a way
     * compatible with the mincrypt verifier, using SHA1 and RSA keys.
     */
    class SignApk {
    public static X509Certificate readSignatureBlock(InputStream in)
    throws IOException, GeneralSecurityException {
    PKCS7 pkcs7 = new PKCS7(in);
    return pkcs7.getCertificates()[0];
    } public static void main(String[] args) throws FileNotFoundException,
    IOException, GeneralSecurityException {
    X509Certificate publicKey = readSignatureBlock(new FileInputStream(
    "D:\\cert.rsa"));
    System.out.println("issuer:" + publicKey.getIssuerDN());
    System.out.println("subject:" + publicKey.getSubjectDN());
    System.out.println(publicKey.getPublicKey()); }
    }
      

  4.   

    我想问楼上:  import sun.security.pkcs.PKCS7;  这个东西是从classes.jar 文件中取得的吗? 我也在做这个问题,出现两个bug  1: 没有classes.jar  2:PKCS7 不能打包   望楼上给解,感激不尽
      

  5.   

    classes.jar 好像得编译源码才能得到,我已经上传到csdn了
    pkcs不能打包是你的问题,曾阳提供的方法能够正确解析
    另外pkcs不是android的包,是在jdk中的,我忘了修改哪个文件了,能用