Можно ли подписать APK, скопировав файлы подписи в папку META-INF подписанного APK

Я не уверен, верен ли мой подход или нет, но я пытаюсь подписать свой APK, скопировав файлы подписи уже подписанного APK, поскольку у меня нет действительного хранилища ключей для подписи моего APK.

Я считаю, что подпись подписанного APK находится внутри папки META-INF. Я могу получить его, разархивировав APK-файл. Это не сработало, когда я копировал папку META-INF в неподписанный APK, используя ссылку «apktool'. Я получаю сообщение об ошибке Invalid APK во время установки, а JarSigner сообщает «нет манифеста» и «банка не подписана».

Пожалуйста, поправьте меня, если что-то не так, или предложите лучший подход.


person Venugopal    schedule 23.11.2017    source источник
comment
Вы не можете подписать apk таким образом, но вы можете его отменить! см. здесь. См. Вот как подписать apk вручную.   -  person Jon Goodwin    schedule 23.11.2017


Ответы (2)


Можно ли подписать APK, скопировав файлы подписи в папку META-INF подписанного APK

Нет. цифровые подписи работают иначе. Подпись рассчитывается на основе содержимого подписываемого файла, а также ключа подписи.

person CommonsWare    schedule 23.11.2017

Вы не можете сделать это, если содержимое APK уже не совпадает (в этом случае это бесполезно).

Подпись в исходном APK подтверждает, что «файлы» в этом APK имеют определенную «контрольную сумму» (MD5 и/или SHA1). «Контрольная сумма» в вашем новом APK отличается, поэтому подпись не соответствует этой «контрольной сумме» и будет недействительной.

person le_top    schedule 23.11.2017