签名的两种方式
- 利用keystore文件进行签名
 - 利用.pk8加上.pem进行判断
 
讲解android签名过程文章
      
        
          Android code signing
          
        
      
      :自备梯子
      
      
        
          Signature & Certification
          
        
      
    
查看包签名状态 jarsigner -verify -verbose -certs V2.1.0-E1-20130804.0535.zip
如何找到签名apk包的签名
      unzip -q -c test.apk META-INF/CERT.RSA|openssl pkcs7 -inform DER -print_certs -out cert.pem
      
       该命令会生成cert.pem文件,文件的样式是:
    
      subject=/C=1111/ST=111/L=111/O=111/OU=111/CN=111
issuer=/C=1111/ST=111/L=111/O=111/OU=111/CN=111
-----BEGIN CERTIFICATE-----
MIICIzCCAYygAwIBAgIEUiBjKzANBgkqhkiG9w0BAQUFADBVMQ0wCwYDVQQGEwQx
MTExMQwwCgYDVQQIEwMxMTExDDAKBgNVBAcTAzExMTEMMAoGA1UEChMDMTExMQww
CgYDVQQLEwMxMTExDDAKBgNVBAMTAzExMTAgFw0xMzA4MzAwOTE3MzFaGA8yMDY4
MDYwMjA5MTczMVowVTENMAsGA1UEBhMEMTExMTEMMAoGA1UECBMDMTExMQwwCgYD
VQQHEwMxMTExDDAKBgNVBAoTAzExMTEMMAoGA1UECxMDMTExMQwwCgYDVQQDEwMx
MTEwgZ8wDQYJKoZIhvcNAQEBBQADgY0AMIGJAoGBAJcq0GbxEn1eeNkXne/7pnSl
6wqAaAp6mQqsDkzRBv8fuPE6lL4IObGQdgogve+B9UwbBW1l6xdCIvNlTjqKCyUs
/D+jyhwCdKIrg3L5wUqvr3cfsstk0leVZElLZFYMxOIWajv9oB/eVxe8xxYTSUNb
4uRIUmK5J5K/nBtYwlCxAgMBAAEwDQYJKoZIhvcNAQEFBQADgYEAkCBHUxAzU3hr
F7wuwlQbqju9njkbzGybq6P7A4WPXOh7RsXhdYYPwO74DwlOM1NySDOLQMM0PZqy
sZ3wM9iDURTn1OVrrUC1DcrritYghtSol11Z73G51Pr5bTzYN6swQ2ukFGAw4fdU
AXxAZmLtive5XmPBKQguL0IiFsqZzKg=
-----END CERTIFICATE-----
    
    
keystore文件转为pem文件
      
        
          Converting a .jks Key Store to a .pem Key Store
          
        
      
      :这篇文章讲述了如何将keystore文件转换为pem文件
      
       其中的主要命令就是
    
                    
                          keytool -importkeystore -srckeystore client.jks -destkeystore client.pkcs -srcstoretype JKS -deststoretype PKCS12
                        
                       | 
                
其中.jks文件即为我们常用的.keystore文件
                    
                          openssl pkcs12 -in client.pkcs -out client.pem
                        
                       | 
                
如何判断签名
      判断的方式就是判断利用签名apk包生成的pem签名与我们自己的pem签名是否一致
      
       判断的脚本可以参见附件judge.sh
      
       主要的用法:.
    
                    
                          /judge.sh -z xxx.apk -f xxx.pem -d dir
                        
                       | 
                
      
       其中-z选项: 后面跟的是你的签名的apk文件
      
       -f选项: 后面跟的是你自己的pem文件「
      
       -d选项: 后面跟的是你的包含pem文件的文件夹
      
       注意:
      
       -z选项必填
      
       -f 和 -d二者选项至少包含一个或者都存在
    

