jarsigner: сертификат подписывающего лица является самоподписанным предупреждением

#android #apk #jarsigner #signed-apk

#Android #apk #jarsigner #подписано-apk

Вопрос:

Я публиковал приложение в Aptoide app Store. Они дали мне пустой apk, чтобы подписать его с тем же хранилищем ключей, которое используется в моем основном приложении. Я подписал приложение с помощью command и jarsigner.

Подписание приложения выполнено успешно, но отображается предупреждение:

сертификат подписывающего лица является самоподписанным

введите описание изображения здесь

Я искал об этом, но большинство доступных решений предназначены для SSL-сертификата, а не для подписи apk.

Ответ №1:

tldr; Это не имеет никакого отношения к приложениям Android.

Во-первых, вы должны подписать свой APK с apksigner помощью вместо jarsigner : apksigner был создан специально для Android для подписи APK и гораздо более эффективен, хотя jarsigner и был разработан для подписи любого JAR, поэтому некоторые из сообщений, которые вы видите, не имеют особого смысла в мире Android.

Чтобы объяснить это конкретное сообщение, вы должны понимать, что при создании сертификата (в хранилище ключей) сертификат также подписывается криптографически. Если он подписан «доверенным лицом», люди, которые видят этот сертификат, могут убедиться, что сертификат был фактически создан вами. Однако Android не проверяет подпись сертификатов (примечание: однако он проверяет подпись APK), поэтому эта подпись бесполезна. Поскольку сертификат должен быть подписан, проще всего подписать его закрытым ключом, на основании которого был выдан сертификат: вот почему он называется самоподписывающимся.