Это не вопрос о том, как подписать файл .apk. Я хочу знать, что на самом деле означает подписание и как оно реализовано.
Внутри файла .apk находится папка META-INF, а внутри нее два файла.
Во-первых, CERT.SF содержит хэши SHA1 для различных компонентов и выглядит следующим образом:
Name: res/layout/main.xml
SHA1-Digest: Cox/T8fN1X9Hv4VqjH9YKqc/MsM=
Name: AndroidManifest.xml
SHA1-Digest: wZ418H9Aix1LNch3ci7c+cHyuZc=
Name: resources.arsc
SHA1-Digest: P+uoRrpFyVW6P3Wf+4vuR2ZSuXY=
Name: classes.dex
SHA1-Digest: cN3zXtGii9zuTOkBqDTLymeMZQI=
Существует также файл CERT.RSA. Я предполагаю, что это открытый ключ для проверки подписи.
У меня вопрос, где хранится подпись для всего файла .apk? А что собственно подписано? Это может быть либо
- Файл .apk используется как единый двоичный объект, и он подписан
- или CERT.SF подписан, который содержит отдельные хэши для разных компонентов
Было бы также намного лучше, если бы вы могли указать мне на документацию подробного процесса подписания и проверки.