Android签名证书jks转换成signapk使用的分离模式

深入Android APK签名机制:从SignApk源码解析V1/V2/V3签名原理与实战 数字签名是保障软件完整性与来源可信的核心安全机制,其原理基于非对称加密算法,通过私钥签名、公钥验证来确保数据未被篡改。在Android生态中,APK签名机制经历了从V1到V4的演进,技术价值在于平衡安全强度、验证性能与系统兼容性。V1签名基于JAR格式,在META-INF目录内生成校验文件;V2/V3签名则引入独立的APK签名块,提供全文件保护并支持密钥轮换。应用场景覆盖应用发布、系统更新、安全审计及逆向分析。本文聚焦Android构建工具链中的核心组件SignApk,通过剖析其源码实现,详解签名流程的字节 阅读详情
常用的android的签名工具有两个即jarsigner 和apksigner。这两种使用的key格式不一样,keystore格式转pk8+x509.pem

1. 将keystore文件转换为pkcs12格式

keytool   -importkeystore -srckeystore my.keystore   -destkeystore tmp.p12 -srcstoretype JKS         -deststoretype PKCS12

2. 将PKCS12 dump成pem

openssl        pkcs12 -in tmp.p12 -nodes -out tmp.rsa.pem
tmp.rsa.pem 是文本格式可以直接查看

打开文本:

Bag Attributes
    friendlyName: dtcamera
    localKeyID: 54 69 6D 65 20 31 34 35 38 38 31 37 33 31 30 37 30 36
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY----------END PRIVATE KEY-----Bag Attributes
    friendlyName: dtcamera
    localKeyID: 54 69 6D 65 20 31 34 35 38 38 31 37 33 31 30 37 30 36
subject=/CN=DTC
issuer=/CN=DTC
-----BEGIN CERTIFICATE----------END CERTIFICATE-----
打开文本可以看到私钥(PRIVATE KEY )和证书( CERTIFICATE);

复制“BEGIN CERTIFICATE” “END CERTIFICATE” 到(新建个文件) cert.x509.pem

复制 “BEGIN RSA PRIVATE KEY” “END RSA PRIVATE KEY” 到(同上) private.rsa.pem
cert.x509.pem 文件即是我们最后需要的证书文件

3. 生成pk8格式的私钥

openssl pkcs8 -topk8 -outform DER -in     private.rsa.pem -inform PEM -out private.pk8 -nocrypt
cert.x509.pem private.pk8 即是我们最后需要的文件。

*备注:
-nocrypt 这个参数设定key加密 如果设置了这个参数 下面签名 只要证书+key 不需要密码了 如果加密 应该
openssl pkcs8 -topk8 -outform
DER -in private.rsa.pem -inform PEM -out private.pk8 接下来输入密码*

4. 用法

java -jar signapk.jar cert.x509.pem private.pk8 unsigned.apk signed.apk

jarsigner 的用法

jarsigner -verbose -keystore android.keystore -signedjar android_signed.apk android.apk android.keystore
使用这种方式会报错:找不到 的证书链。×× 必须引用包含专用密钥和相应的公共密钥证书链的有效密钥库密钥条目。

jarsigner -verbose -keystore  DT.jks -signedjar  signed.apk  unsigned.apk "别名"
Android 系统签名文件生成:3步命令从源码 security 目录到 JKS 本文详细介绍了从Android源码的security目录生成系统签名文件platform.jks的完整步骤,包括环境配置、私钥转换、PKCS12密钥库创建及JKS格式转换等关键技术环节。通过3步核心命令,开发者可快速掌握系统签名文件生成方法,为Android系统应用开发提供关键权限支持。 阅读详情

相关推荐

深入Android源码环境:手动构建系统签名密钥库(JKS)全流程解析

本文详细解析了在Android源码环境中手动构建系统签名密钥库(JKS)的全流程,包括环境准备、密钥文件定位、密钥转换步骤及Android Studio集成方法。通过系统签名,开发者可以获取系统级权限,实现深度定制功能。文章还提供了常见问题解决方案和进阶优化建议,帮助开发者高效完成系统签名配置。

weixin_33875564的博客 392

让Android Studio支持系统签名

让Android-Studio支持系统签名(证书)

ConnorLin的专栏 1万+

android:sign

a) 1、使用cd命令,将工作目录切换到C:\Documents and Settings\Administrator\.android目录下 2、输入:keytool -list -keystore debug.keystore 3、输入密钥库口令:如果没设置,这里就是空,直接回车就进去了。

jktaihe的专栏 6277

apk打包解包签名工具apktool

apk打包,解包,反编译,签名, 图形化界面,不用敲命令,方便实用

Android APK 系统签名工具(signapk.jar)

使用方法: 1. 解压 2. 拷贝替换自己的 platform.x509.pem 和 platform.pk8 到根目录 3. 将需要签名的apk拖到 signapk.bat 上即可完成签名

android安全学习之6—signapk分析

Android签名的时候使用signapk进行签名,是个java的应用程序,代码为build/tools/signapk.java,下面简要分析下签名的流程。java -jar out/host/linux-x86/framework/signapk.jar build/target/product/security/platform.x509.pem build/target/product/se

lyf's blog 2393

【ESP32-IDF笔记】20-配置以太网网络(W5500)

基于ESP32IDF和官方的ethernet驱动,配置W5500以太网驱动芯片,实现ESP32的有线网络

别看了,就这些信息 3471

用Android自带的signapk.jar签名应用程序

先找到相应的签名文件,文件位置:可以在......\android_project\build\target\product\security中找到media.pk8、media.x509.pem、platform.pk8、platform.x509.pem、shared.pk8、shared.x509.pem、testkey.pk8、testkey.x509.pem等签名文件,对应不同的权限。

clwwlc的专栏 7998

银河麒麟V10安装docker

最近在做的一个信创项目使用的操作系统是银河麒麟高级服务器V10,在安装docker时,会遇到下面的错误。 nothing provides fuse-overlayfs >= 0.7 needed by docker-ce-rootless-extras-20.10.0-3.el7.x86_64 经过分析,以下依赖包是centos系统中的包,所以需要给kylinos创建一个合适的centos源。经过实验,Kylin Linux Advanced Server V1

m0_38004228的博客 4908

海思Hi3516CV610开发实战:在Ubuntu 22.04上从零构建嵌入式Linux开发环境

本文详细介绍了在Ubuntu 22.04上为海思Hi3516CV610开发板搭建嵌入式Linux开发环境的完整流程。从虚拟机配置、系统安装到基础环境设置,提供了实用技巧和常见问题解决方案,帮助开发者高效构建适用于智能视觉处理的开发环境。

weixin_29197699的博客 510

把Android系统签名弄成jks

假设我们得到了系统签名文件:platform.pk8、platform.x509.pem,还需要一个用于签名的文件:signapk.jar,这里提供了一份下载连接,可供练习使用:链接:https://pan.baidu.com/s/1OiBcVyhZVqTulb6HXwcqHA 提取码:7g81 不同的系统,系统签名是不一样的,所以你们下载我的这个签名文件是用不到你的系统上的,但是signapk.jar是通用的,什么系统签名都可以使用他。 当你有你的系统签名文件时,如何把一个apk签名为系统签名呢?如下:

Android菜鸟的专栏 2422

ros2的unity仿真配置(ros2-for-unity)

可以看到unity中输出了Hello World,验证完毕!可以看到unity上监听的/chatter。

m0_63671696的博客 4093

Android Studio JKS签名文件制作

需要在linux环境下执行下列命令: 设置环境变量:export 可以查看当前的一些配置 echo PATH可以单独查看PATH环境变量PATH= /androidq/android/keytest:PATH 可以单独查看 PATH环境变量 PATH=~/android_q/android/keytest:PATH可以单独查看PATH环境变量PATH= /androidq​/android/keytest:PATH 新增相关的PATH环境变量 ~/android_q/android/ke

yinchangliu的博客 865

24、企业治理、风险与合规:精益思维的应用与实践

本文探讨了如何运用精益思维优化企业治理、风险与合规(GRC)流程,分析了职责分离与合规流程的误区,提出了预防性与检测性控制措施的合理搭配,并通过价值流映射、减少合规反馈循环等方法实现流程优化。以Etsy的PCI-DSS实施为例,展示了如何在满足法规要求的同时保持创新活力。文章还强调了构建协作型GRC文化的重要性,并展望了未来GRC的发展趋势,包括数字化转型、全球化风险管理及与可持续发展的结合。

solidity8miner的博客 103

YOLOv12涨点改进 | 全网独家首发Conv改进篇 | Arxiv 2025 | 引入一种新的WConv加权卷积改进YOLOv12,显著提升其特征提取能力和目标检测精度

本文提出了一种新型加权卷积(WConv)模块,通过引入最优密度函数动态调整邻域像素权重,显著提升了YOLOv12目标检测性能。WConv在保持参数数量不变的情况下,提高了模型精度(VGG准确率提升10%)、增强了小目标检测能力,并改善了多尺度特征提取。文中详细介绍了模块原理、网络结构改进方法,并提供了核心代码实现和yaml配置文件。实验表明,该方法在图像任务中最高可降低53%的损失,虽然会带来11%的时间开销,但具有优异的鲁棒性。该技术可广泛应用于2D/3D图像处理领域。

Ai缝合怪、助力小伙伴高效发论文 215

【App-Signing】通过终端命令实现签名文件解析和应用签名

如何使用终端命令处理Android签名文件和对APK进行签名。

特立独行的博客 1585

基于POD和神经网络的多工况温度场重构反演系统

本文提出了一种基于本征正交分解(POD)和神经网络的多工况温度场重构反演系统。该系统通过POD方法从多工况温度场数据中提取主要特征模态,构建神经网络模型建立工况参数与POD模态系数的映射关系,实现温度场的快速重构。系统采用Python实现,包含数据预处理、POD分解、神经网络训练和温度场重构等模块。实验结果表明,该方法能够有效降低计算复杂度,实现高精度的温度场预测。

huanghm88的专栏 274

Android 创建自己的签名证书文件keystore,使用signapk.jar为apk以及zip文件签名

原文链接:How to Sign Android APK or Zip Files果你只是想知道如何签名及下载签名工具,请直接看“如何使用SignApk.jar来为一个apk或zip文件签名”部分。要创建自己的证书请从头看起。 准备知识:     当你要发布一个软件或是自制的ROM时,你就需要一个使用了私钥的证书来为.apk或.zip文件进行签名。Android系统使用证书来识别软件作者和

云守护的专栏 1万+

uniapp(全端兼容) - 最新详细实现pdf在线预览功能,uniapp内置预览PDF文件功能,uniapp在安卓app|苹果app|h5网页网站|微信小程序中打开pdf进行在线预览(详细示例源码)

uni-app,安卓Android,苹果ios,App端,H5网页,移动端网站,微信小程序,支付宝小程序,nvue,vue,pdf文档,pdf文件,office,uniapp 预览pdf,uniapp怎么做pdf预览,uniapp如何实现全平台兼容的pdf在线预览,uniapp怎么在h5打开pdf文档,实现PDF在线预览,H5移动端文件预览pdf,文件下载和预览,uniapp App端pdf文件预览,app移动端在线预览pdf文件,无法预览pdf怎么办,有没有预览pdf的插件,根本打不开咋办,uniapp使

✅ 精选推荐文章 1万+

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Android 系统签名实战:对比源码生成、手动签名与AS集成3种方案

本文深入解析Android系统签名的三种主流方案:源码编译生成、手动签名与Android Studio集成。通过对比分析各方案的技术实现、适用场景及优劣势,帮助开发者高效完成系统级应用签名,确保安全访问系统特权API与资源。特别针对源码生成签名文件的流程进行了详细说明,为深度定制Android系统提供实践指导。

weixin_33901641的博客 519

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

android debug 签名,Android debug签名和release签名

Android debug签名和release签名一:Android debug签名在开发工具下使用debug模式下生成的APK,使用的是开发工具默认的debug签名文件1.方式一:通过build APK生成app-debug.apk2.方式二:通过gradle构建工具生成apk,assemble可以生成debug和release包,assembleDebug可以生成debug APK,assem...

weixin_29888579的博客 2951

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

Android 将签名布局旋转90度,Android签名生成和互转(示例代码)

Android 的签名有两种方式,一种使用jdk 提供的jarsigner工具签名keystore 文件,另一种是Android 自己提供的signapk.jar 通过.pk8(密钥) 和.x509.pem(证书)两个签名文件完成签名。之前对一个包签名都是直接使用signapk来的,因为不需要输入密码即可直接签名,简单直接,今天上传百度时遇到问题了,下载下来签名说明文档后说需要使用jarsigne...

weixin_39611765的博客 301

linux生成signapk.jar,生成签名文件和签名应用(超级详细版)

1.签名文件简介签名文件说明出处,标准的测试秘钥包含四个部分:testkey、platform、shared和media。The following standard test keys are currently included:testkey -- a generic key for packages that do not otherwise specify a key.platform ...

weixin_31176789的博客 1069

Android常用技巧——系统签名

第一种:使用keytool-importkeypair生成keystore文件,后缀名为.jks,放到android studio中。 1、下载keytool-importkeypair 地址:https://github.com/getfatday/keytool-importkeypair 2、在源码中拷贝 platform.x509.pem、platform.pk8(位于../build/target/product/security)不同厂商的位置不同,需要正确路径下的platform.x509

悟心的专栏 1060
上一篇: macOS 修改网卡地址出现basicipv6validationerror怎么改
下一篇: iOS 10.3无法安装企业In-House APP问题
坚果-大发
博客等级 码龄20年 90粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值