gpt4 book ai didi

java - 如何签署 update.zip

转载 作者:行者123 更新时间:2023-12-01 06:17:42 25 4
gpt4 key购买 nike

我目前正在尝试对库存 Android 恢复应用更新。我为 Android 构建创建了 zip 内容和我自己的 key ,但它失败并出现签名验证错误。我现在在 bootable/recovery/verifier.cpp

中找到了这段代码
#define FOOTER_SIZE 6

if (fseek(f, -FOOTER_SIZE, SEEK_END) != 0) {
LOGE("failed to seek in %s (%s)\n", path, strerror(errno));
fclose(f);
return VERIFY_FAILURE;
}

unsigned char footer[FOOTER_SIZE];
if (fread(footer, 1, FOOTER_SIZE, f) != FOOTER_SIZE) {
LOGE("failed to read footer from %s (%s)\n", path, strerror(errno));
fclose(f);
return VERIFY_FAILURE;
}

if (footer[2] != 0xff || footer[3] != 0xff) {
LOGE("failed check of footer bytes 2 & 3 match 0xff");
fclose(f);
return VERIFY_FAILURE;
}

预计 zip 中的第四个和第三个最后字节为 0xff。此时验证失败。如果我使用 HexEditor 打开 zip,我可以看到两个字节都不是 0xff。如果我从 /bootable/recovery/testdata/otasigned*.zip 打开 zip,我可以看到它们是 0xff

我使用以下命令签署了zip:jdk1.6.0_35/bin/java -jar Android/prebuilts/sdk/tools/lib/signapk.jar Android/build/target/product/security/testkey.x509 .pem Android/build/target/product/security/testkey.pk8 testupdate.zip update.zipMETA-INF 文件夹中添加一些证书数据。

我在 zip 规范上也找不到这些字节必须是 oxff 的任何信息。

这里出了什么问题?

PS:当然我可以禁用签名验证,但我想要这个功能(只工作,不失败;))

最佳答案

使用 -w 选项使signapk签署整个文件

signapk -w $KEY_FILE.x509.pem $KEY_FILE.pk8 $UPDATE_ZIP $UPDATE_ZIP.signed

关于java - 如何签署 update.zip,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20125375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com