如何解决在没有jarsigner / apksigner或任何Java工具的情况下为APK生成CERT.RSA
我目前正在尝试使用此过程动态打包APK:
- 当最终用户要求下载时,我在APK中添加了一个文件
- 我签署了APK(一直使用相同的密钥)
- 我提供了APK
问题在于,使用大型工具(apksigner,jarsigner)对APK进行签名对于大型APK(500M +)可能会非常耗时
我的目标是更新META-INF数据并仅生成新的CERT.RSA文件(如果我没记错的话,它是CERT.SF的编码)
我已经成功找到如何在META-INF目录中生成MANIFEST.MF和CERT.SF。我只是找不到算法,也找不到任何从CERT.SF生成CERT.RSA的openssl命令。
有任何线索吗?
解决方法
首先,请确保您的minSdkVersion
apksig与APK Signature v2 scheme进行签名,签名速度将提高一个数量级。
现在,假设您要做需要v1签名并想手动生成,我建议您查看 JarSigner 的OpenJDK实现。特别参见Block
类:https://github.com/openjdk-mirror/jdk7u-jdk/blob/master/src/share/classes/sun/security/tools/JarSigner.java#L2221-L2344
这是* .RSA文件的内容。如您所见,这是几件事情的结合。如果您仅使用RSA密钥,则可能可以大大简化此代码并使其适合您的工具。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。