`

[转载]Android与Java签名机制与API

 
阅读更多

签名的两种方式

 

  1. 利用keystore文件进行签名
  2. 利用.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-----

 

 

其中BEGIN CERTIFICATE和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二者选项至少包含一个或者都存在

 

分享到:
评论

相关推荐

    API接口对接生成签名与验证签名

    API接口生成签名与验证签名思路,本文只提供生成签名的思路和验证签名的思路,不喜勿碰

    Android的APK应用签名机制以及读取签名的方法

    主要介绍了Android的APK应用签名机制以及读取签名的方法,这里作者推荐使用Java自带的API进行APK签名的读取,需要的朋友可以参考下

    AliyunSignature - CSDN.zip

    这种机制就是“签名机制”,我们每调用一次可以对硬件进行操作的API,就需要提供一次“数字签名”,阿里云物联网平台对每个接口访问请求的发送者进行身份验证,所以无论使用HTTP还是HTTPS协议提交请求,都需要在请求...

    android开发入门与实战(下)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    android 增量升级DEMO

    随着APP的越来越大,增量升级已是必不可少...通过计算MD5值,判断合并的与新的APP是不是相同的文件,签名时候和已安装客户端是否一致,如一致,提示用户安装,实现分分钟的升级。采集SO方式 ,直接方便调用 ,无须NDK。

    android开发入门与实战(上)

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    android开发入门教程

    3.3.1 开发的基石——AndroidAPI核心开发包介绍 3.3.2 拓展开发外延——Android可选API介绍 3.4 本章小结 第4章 赚钱的市场——AndroidMarket及应用发布 4.1 GoogleMarket产生背景与目的 4.2 体验“选货”的乐趣...

    深入理解Android:卷I--详细书签版

    9.3 Rild的原理与机制分析 428 9.3.1 初识Rild 430 9.3.2 RIL_startEventLoop分析 432 9.3.3 RIL Init分析 437 9.3.4 RIL_ register分析 444 9.3.5 关于Rild main函数的总结 447 9.3.6 Rild实例分析 447 ...

    《Google Android开发入门与实战》.pdf

    在程序实例的讲解方面,主要将实例安插在android开发的精髓知识章节,这为初学者学习与实践结合提供了很好的指导。.  本书配套有400多分钟的全程开发视频光盘,指导读者快速、无障碍地学通android实战开发技术。.. ...

    JAVA上百实例源码以及开源项目源代码

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    JAVA上百实例源码以及开源项目

     关于数字签名:产生RSA密钥对(myKeyPair),得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥...

    android-play-safetynet:Google SafetyNet证明API的示例

    :两个示例,显示了如何在Java服务器上验证SafetyNet API响应,包括通过Android Device Verification API离线和在线。 :两个示例,显示了如何在C#上验证服务器上的SafetyNet API响应,包括通过Android设备验证API...

    阿里云javasdk源码-api-gateway-demo-sign-android:阿里云CloudApi团队提供给用户的Android调用

    Api-Gateway-Demo-Android 使用指南 1 SDK简介 本SDK是阿里云CloudApi团队提供给用户的调用示例代码,代码文件的层级结构如下: SDK实现文件 com.alibaba.cloudapi.client HttpUtil Http工具类 SignUtil 签名的...

    Google.Android开发入门与实战

     《Android开发入门与实战》内容上涵盖了用Android开发的大部分场景,从Android基础介绍、环境搭建、SDK介绍、Market使用,到应用剖析、组件介绍、实例演示等方面。从技术实现上,讲解了5个Android平台下的完整综合...

    Google Android开发入门与实战的代码

    Google Android开发入门与实战的代码 1章 掀起你的盖头来——初识Android. 1 1.1 认识Android 1 1.2 Android的背景 2 1.2.1 Android的历史 2 1.2.2 Android的发展 2 1.3 我的Android我做主 2 ...

    Android基础教程

    内容简介  《Android基础教程(第3版·修订版)》是一部关于Android开发的基础教程,采用Pragmatic系列图书一贯由浅入深、循序渐进的方式讲解了Android程序设计的...附录A Java与Android:语言及其API 附录B 参考书目

    精通ANDROID 3(中文版)1/2

    1.5.7 Android Java包  1.6 利用Android源代码  1.7 本书的示例项目  1.8 小结  第2章 设置开发环境  2.1 设置环境  2.1.1 下载JDK 6  2.1.2 下载Eclipse 3.6  2.1.3 下载Android SDK  2.1.4 ...

Global site tag (gtag.js) - Google Analytics