Подтвердить что ты не робот

Keystore и Aliases - есть ли использование нескольких псевдонимов?

При экспорте подписанного приложения Android с использованием Eclipse существует ли смысл использовать несколько псевдонимов?

Согласно официальному руководству о подписании, он рекомендовал вам подписывать все приложения с тем же сертификатом, чтобы ваши приложения могли обмениваться данными, кодом и обновляться модульным способом.

Предполагая, что "псевдоним", "ключ" и "сертификат" по существу взаимозаменяемы в этом контексте, есть ли причина, по которой кто-то захочет использовать разные псевдонимы для всех своих приложений? Единственная причина, по которой я могу думать, заключается в том, что она добавляет больше безопасности вашим приложениям, в том смысле, что скомпрометированный ключ/пароль не ставит под угрозу все. Существуют ли другие причины?

Кроме того, сгенерированный ключ зависит от имени псевдонима? Другими словами, если вы измените имя псевдонима, но не пароль, будет ли сгенерированный сертификат другим?

4b9b3361

Ответ 1

Исправьте меня, если я ошибаюсь, но если вы увидите этот ответ по аналогичному вопросу, вы увидите, что сертификат действительно зависит от конкретного "псевдонима" (в пределах вашего хранилища ключей), который вы выбираете для подписания.

Внимательно прочитайте ответ, и вы увидите, что "хранилище ключей" содержит "псевдоним" (которые фактически являются частями + пары открытых ключей). Когда вы подписываете свой apk, это "открытый ключ", который является встроенным фактическим сертификатом.

Поэтому при обновлении вашего приложения вы всегда должны использовать один и тот же "псевдоним" , а не только одно и то же "хранилище ключей". Что касается того, почему у разработчиков будет несколько "псевдонимов" в хранилище ключей, я не уверен в преимуществах, отличных от того, что вы и другие заявили.

И единственный способ, которым вы можете подписаться с другим псевдонимом, - это клонировать предыдущий, поскольку также предлагает ответ.

Я также подтвердил, что подписание APK с различным псевдонимом (из того же Keystore) приведет к созданию другого APK подписи подписи, который должен быть доказательством что другой "псевдоним" s = другой сертификат. Как получить ваш подпись sig (< - note: Я не знаю, к какому методу Trace.i они относятся, я вместо этого использовал Log.i)

Ответ 2

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

Выдержка из Android - Подписание ваших приложений - Стратегии подписи

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

Ответ 3

Я проводил некоторое тестирование, и хотя кажется важным, какой ключ вы используете в хранилище ключей, изменение псевдонима на ключе и имя файла хранилища ключей на самом деле не имеет значения для телефона. Если вам интересно, я изменил псевдоним с keytool-iui, который я получил отсюда: http://code.google.com/p/keytool-iui/

Чтобы ответить на OP, я бы сказал, что это полезно, если вы работаете в крупной компании с несколькими подразделениями, которые пишут свои собственные приложения. Таким образом, Wilson Widgets может иметь хранилище ключей wilsonwidgets.keystore, и там может быть внутренний отдел с ключом "widgetmakers" и отдел с ключом "widgetdelivery" и другой отдел с ключом "hrdepartment". Каждый отдел может запретить другому отделу обновлять свое приложение, но сама компания имеет все ключи, хранящиеся в одном хранилище ключей, которые могут быть скопированы в одном месте.

Лично я подписываю каждое приложение с другим ключом, хранящим их все в одном хранилище ключей. Я делаю это, так что, если Google решит купить у меня одно из моих приложений, я могу сломать этот один ключ и отдать его им, не продавая им целую партию или не восстанавливая ключи для других приложений. Реально... Я просто трачу время и силы... вздох