update.zip包的签名

update.zip包的签名:update.zip更新包在制作完成后需要对其签名,否则在升级时会出现认证失败的错误提示。而且签名要使用和目标板一致的加密公钥。加密公钥及加密需要的三个文件在Android源码编译后生成的具体路径为:
               out/host/linux-x86/framework/signapk.jar 
               build/target/product/security/testkey.x509.pem         
               build/target/product/security/testkey.pk8 。
     用命令make otapackage生成的update.zip包是已签过名的,如果自己做update.zip包时必须手动对其签名。
具体的加密方法:$ java –jar out/host/linux/framework/signapk.jar –w build/target/product/security/testkey.x509.pem                                    build/target/product/security/testkey.pk8 update.zip update_signed.zip
以上命令在update.zip包所在的路径下执行,其中signapk.jar testkey.x509.pem以及testkey.pk8文件的引用使用绝对路径。update.zip 是我们已经打好的包,update_signed.zip包是命令执行完生成的已经签过名的包。
 MANIFEST.MF:这个manifest文件定义了与包的组成结构相关的数据。类似Android应用的mainfest.xml文件。
 CERT.RSA:与签名文件相关联的签名程序块文件,它存储了用于签名JAR文件的公共签名。
CERT.SF:这是JAR文件的签名文件,其中前缀CERT代表签名者。


  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Android 4.4.3系统中,可以利用recovery对update.zip升级进行RSA加密及解密,具体步骤如下: 1. 生成RSA公私钥对。可以使用openssl工具生成,命令如下: ``` openssl genrsa -out private_key.pem 2048 openssl rsa -in private_key.pem -pubout -out public_key.pem ``` 这样就生成了一个私钥文件 private_key.pem 和一个公钥文件 public_key.pem。 2. 将公钥文件添加到Android系统中。将 public_key.pem 文件复制到 Android 系统的 /res/keys 目录下。 3. 利用私钥文件对 update.zip 进行签名。使用以下命令对 update.zip 进行签名: ``` openssl dgst -sha1 -sign private_key.pem < update.zip > update.zip.signature ``` 这样就会生成一个签名文件 update.zip.signature。 4. 将签名文件添加到 update.zip 中。使用以下命令将签名文件添加到 update.zip 中: ``` zip -r update_signed.zip update.zip update.zip.signature ``` 这样就生成了一个签名后的升级 update_signed.zip。 5. 在recovery中进行升级。将签名后的升级 update_signed.zip 放到 SD 卡中,然后进入 recovery,选择 install zip from sdcard,然后选择 update_signed.zip 进行升级。 6. 在recovery中进行解密。如果需要在 recovery 中解密 update_signed.zip,可以使用以下命令: ``` openssl dgst -sha1 -verify /res/keys/public_key.pem -signature META-INF/CERT.RSA META-INF/MANIFEST.MF ``` 这样就可以验证签名,并且解密 update_signed.zip。 请注意,以上步骤仅适用于 Android 4.4.3 系统,其他版本的 Android 系统可能会有所不同。此外,RSA加密算法虽然安全性较高,但是加密解密过程较为耗时,可能会影响系统性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值