`

[转载]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二者选项至少包含一个或者都存在

 

分享到:
评论

相关推荐

    Android中文API查询和JAVA开发API

    在这个主题中,我们主要关注的是针对Android开发的中文API以及Java开发的中文API。 首先,让我们深入了解一下Java API。JDK_API_1_6_zh_CN.CHM是一个包含Java Development Kit(JDK)1.6版本的中文版API文档。这个...

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

    ### API接口对接生成签名与验证签名 #### 一、生成签名机制 在API接口对接过程中,为了确保数据的安全性和防止数据被篡改,通常会采用生成签名的方式来进行数据的校验。下面详细介绍如何生成签名: 1. **参数排序...

    android java Api 手册 part2

    《Android Java API手册 Part2》是开发者们深入理解Android系统编程不可或缺的重要参考资料。这份文档主要涵盖了Android平台中Java API的第二部分,由于文件大小限制,手册被分为了三个部分进行上传。在这里,我们将...

    深入理解Android之Java Security

    - **Digital Signature (数字签名)**:数字签名是一种安全机制,用于确认发送者的身份并确保数据在传输过程中未被篡改。它通常结合公钥加密技术实现。在 Java Security 中,DigitalSignature 类提供了生成和验证数字...

    android版淘宝API签名计算代码

    在Android开发中,与第三方服务进行交互时,为了确保数据的安全性和防止被恶意篡改,通常需要进行API签名。这个“android版淘宝API签名计算代码”是一个针对手机淘宝API的签名实现,主要用于验证请求的合法性。下面...

    Android hook api

    TestAR可能是一个与Android Hook相关的测试项目或者工具,可能是为了演示或者评估Hook技术在实际场景中的效果。在学习和研究这个主题时,通过实际操作和实践,比如分析TestAR的代码和运行结果,能更深入地理解Hook的...

    Android API文档英文版

    Android API文档还讲解了如何保护应用的安全性,包括权限管理、数据加密、网络通信安全以及应用签名等。 **9. 兼容性和适配** Android设备具有广泛的硬件差异,因此,API文档中有关于如何编写兼容不同设备和屏幕...

    Android api22 源码

    这对于了解应用的签名和安全机制至关重要。 四、资源解析与运行时支持 `resources.arsc`文件是Android资源的二进制表示,它包含了所有应用程序和系统资源的元数据。在API 22中,系统通过这个文件快速查找和加载...

    android-APK系统签名文件.rar

    1. **V1签名(JAR签名)**:使用Java的JAR签名机制,只检查APK的原始内容,不包含任何apk的元数据信息,如AndroidManifest.xml。 2. **V2签名(APK Signature Scheme v2)**:Android 7.0(API级别24)引入,签名...

    Android Framwork签名文件

    "signapk.jar" 是一个Java可执行文件,它是一个签名工具,用于签署Android应用或系统组件。这个工具结合了私钥(通常是`platform.pk8`)和证书(`platform.x509.pem`),对APK进行签名,确保其在安装和运行时能通过...

    java类似蒲公英超级签名的后台完整实现.zip

    Java 类似蒲公英超级签名的后台完整实现主要涉及到Android应用的签名机制、自动化部署流程以及服务器端的接口设计。这个项目可能是一个基于Java技术栈的解决方案,用于提供类似于蒲公英分发平台的签名服务,帮助...

    Android签名证书文件的解析和签名校验的加强

    ### Android签名证书文件的解析与签名校验加强 #### 一、Android签名机制概述 Android平台为了确保应用的安全性和来源的可信度,采用了一套严格的签名机制。这一机制确保了只有经过签名的应用程序(APK)才能够在...

    android批量签名源码

    这对于学习Android签名机制和Java编程实践都有很大帮助。 7. **应用场景**:这个工具对于开发者、自动化构建系统(如Gradle、Maven)或者持续集成/持续部署(CI/CD)流程都非常有用。它能确保所有应用都使用同一...

    javacv 图片文字识别各操作平台的api jar包

    JavaCV的API使用方式与Windows平台相似,但需要注意的是,由于跨平台性,某些特定的系统函数可能需要适应性调整。 Android平台的开发则需要使用JavaCV的Android版本,它包含专门为移动设备优化的库。在Android上...

    Android官方中文翻译API文档

    在Android平台上,API不仅包括Java库,还涉及到Android框架、系统服务、UI组件等各个方面。 文档通常按照API级别进行组织,每个级别代表Android的一个版本。随着Android系统的更新,API级别也会递增,新增或改进了...

    Android 微信分享签名生成器

    首先,我们需要了解的是Android应用的签名机制。在Android系统中,每个安装的APK都需要经过数字签名,以验证应用的来源和完整性。签名过程使用开发者私钥对APK进行加密,这样只有拥有对应公钥的人才能解密并确认APK...

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

    要读取APK的签名信息,可以通过Java的标准库API,比如`JarFile`、`JarEntry`和`Certificate`类,或者使用Android的隐藏API `PackageParser`,但后者可能因Android版本和厂商定制而存在兼容性问题。使用Java API的...

    Android应用源码PDF手写签名商业源码.zip

    该压缩包文件“Android应用源码PDF手写签名商业源码.zip”主要包含了一个Android应用程序的源代码,用于实现PDF文档的手写签名功能。在移动设备上,这种功能对于签署电子文档尤其有用,例如合同、协议等。让我们深入...

    Android应用源码PDF手写签名商业源码

    5. **数据存储与传输**:如果应用程序需要保存用户的签名或者PDF文件,可能涉及到本地存储(如SQLite数据库或文件系统)和云存储(如FTP服务器或云存储服务API)。同时,考虑到安全性和隐私,数据传输应采用HTTPS等...

    Android 手绘签名(java)

    在Android平台上,手绘签名功能是一项常见的需求,尤其在商务应用或者移动支付场景中。本文将深入探讨如何使用Java语言实现这一功能。我们将涉及到的主要知识点包括Android的UI设计、触摸事件处理、画布操作以及保存...

Global site tag (gtag.js) - Google Analytics