我目前正在尝试使用以下过程对APK进行打包:
问题是使用通用工具(apksigner,jarsigner)来签署APK对于大型APK (500 m +)来说可能很费时。
我的目标是更新元-INF数据,并且只生成新的CERT.RSA文件(如果我没有弄错的话,这是CERT.SF的编码)。
我已经成功地找到了如何在META目录中生成MANIFEST.MF和CERT.SF。我只是找不到从CERT.RSA生成CERT.SF的算法或任何openssl命令。
有线索吗?
发布于 2020-09-22 20:27:41
首先,确保您的minSdkVersion < 24。如果您有24个或更高的文件,那么这些文件是不必要的,您只能使用APK签名v2方案使用apksig进行签名,这将使签名速度快一个数量级。
现在,假设您确实需要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密钥,则可能会简化这段代码,并将其用于您的工具。
https://stackoverflow.com/questions/64013076
复制相似问题