当前位置: 首页 > news >正文

Android开发 系统签名jks制作和问题汇总

1 前提和介绍

前提:需要有Android相对应版本的security文件夹,对应文件需要platform.pk8、platform.x509.pem
介绍如下

platform.pk8	私钥,原始的 DER 格式,Android 默认使用 .pk8 保存    
platform.x509.pem	公钥证书,PEM 格式,Android 默认的签名证书 
platform.pem	中间生成的私钥(从.pk8 转换为 PEM 格式) 
platform.p12	中间生成的 PKCS12 密钥库,包含私钥和证书    
platform.jks	最终生成的 JKS 密钥库

2 主要命令行

主要命令行只有三句

1
openssl pkcs8 -inform DER -nocrypt -in platform.pk8 -out platform.pem2 (这里2的代码可以都做一下尝试)
openssl pkcs12 -export -in platform.x509.pem -out platform.p12 -inkey platform.pem -password pass:111111 -name key0openssl pkcs12 -export -in platform.x509.pem -inkey platform.pem -out platform.p12 -passout pass:111111 -name key0keytool -importkeystore -deststorepass 111111 -destkeystore ./platform.jks -deststoretype JKS -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 1111113
该后缀为keystore
keytool -importkeystore -deststorepass 111111 -destkeystore ./platform.keystore -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 111111
该后缀为jks 可直接用于as签名
keytool -importkeystore -deststorepass 111111 -destkeystore ./platform.jks -deststoretype JKS -srckeystore ./platform.p12 -srcstoretype PKCS12 -srcstorepass 111111

3 签名过程中主要遇到的问题

1 最后生成jks文件时报错密码错误 java.io.IOException: keystore password was incorrect

加-v查看了详细报错参数

keytool -importkeystore -v -deststorepass 111111 -destkeystore platform.keystore -srckeystore platform.p12 -srcstoretype PKCS12 -srcstorepass 111111

具体如下
java.security.UnrecoverableKeyException: failed to decrypt safe contents entry: javax.crypto.BadPaddingException: Given final block not properly padded. Such issues can arise if a bad key is used during decryption.

解决方案:
切换高版本jdk,我用jdk8编译Android7签名失败,换成jdk11可以成功签名,但签名Android9又失败,但换成jdk17成功,具体原因目前也不是特别清楚,猜测是兼容性。

写得很好的一个文章
从生成keystore到完成Android应用签名的全过程指南
https://blog.csdn.net/weixin_35006125/article/details/142892554

相关文章:

  • python 第二章
  • 浅说跟单软件的原理
  • python如何统计图片的颜色分布
  • GenSpark vs Manus实测对比:文献综述与学术PPT,哪家强?
  • Mysql-定时删除数据库中的验证码
  • ADB识别手机系统弹授权框-如何处理多重弹框叠加和重叠问题
  • C++11 Token Bucket (令牌桶)算法的锁无实现及应用
  • LeetCode 每日一题 2025/6/2-2025/6/8
  • Redis故障转移
  • YOLOv8 升级之路:主干网络嵌入 SCINet,优化黑暗环境目标检测
  • 《绩效管理》要点总结与分享
  • Deepseek基座:Deepseek-v2核心内容解析
  • 优化器 (torch.optim) 与学习率调度器 (lr_scheduler)
  • [学习] GNSS信号跟踪环路原理、设计与仿真(仿真代码)
  • 随访系统安装的记录
  • 手机号段数据库与网络安全应用
  • NPOI Excel用OLE对象的形式插入文件附件以及插入图片
  • 用电脑通过USB总线连接控制keysight示波器
  • Android第十五次面试总结(第三方组件和adb命令)
  • 嵌入式面试高频(5)!!!C++语言(嵌入式八股文,嵌入式面经)
  • 做网站要学的知识/seo优化快速排名
  • 网站怎么在百度搜不到/搜索引擎seo优化
  • 免费项目管理软件app/太原seo全网营销
  • 外贸网站建设流程/企业网站seo案例
  • 做平台外卖的网站需要什么资质/网站搭建外贸
  • 外贸网站注册/推广策划方案