Это общий вопрос, но особенно меня интересует его использование для Android. Что такое файл хранилища ключей и для чего он используется?
Могут ли несколько приложений Android использовать одно и то же хранилище ключей для подписи своего приложения (что именно означает «подписать» .apk?), И каковы последствия (если таковые имеются) из этого?
Ответы:
Ответ, который я хотел бы предоставить, заключается в том, что файл хранилища ключей предназначен для аутентификации любого, кто спрашивает. Он не ограничивается только подписью файлов .apk, вы можете использовать его для хранения личных сертификатов, подписи передаваемых данных и целого ряда аутентификаций.
Что касается того, что вы делаете с ним для Android, и, вероятно, то, что вы ищете, поскольку вы упоминаете о подписании apk, это ваш сертификат. Вы маркируете свое приложение своими учетными данными. Вы можете маркировать несколько приложений одним и тем же ключом. Фактически, рекомендуется использовать один сертификат для маркирования нескольких приложений, которые вы пишете. Легче отслеживать, какие приложения принадлежат вам.
Я не уверен, что вы подразумеваете под подтекстом. Я полагаю, это означает, что никто, кроме держателя вашего сертификата, не может обновить ваше приложение. Это означает, что если вы выпустите его в продажу, потеряете сертификат, который вы использовали для подписи приложения, тогда вы не сможете выпускать обновления, поэтому сохраните этот сертификат и сделайте резервную копию, если это необходимо.
Но помимо подписания apks для выпуска в мир, вы можете использовать его для аутентификации вашего устройства на сервере через SSL, если хотите, (также связанного с Android) среди других функций.
источник
Android Market требует, чтобы вы подписывали все приложения, которые вы публикуете, сертификатом, используя механизм открытого / закрытого ключа (сертификат подписывается вашим закрытым ключом). Это обеспечивает уровень безопасности, который, помимо прочего, не позволяет удаленным злоумышленникам продвигать вредоносные обновления для вашего приложения на рынок (все обновления должны быть подписаны одним и тем же ключом).
Из Руководства по подписанию приложений на сайте разработчика Android:
Использование одного и того же ключа имеет несколько преимуществ: во-первых, проще обмениваться данными между приложениями, подписанными одним и тем же ключом. Во-вторых, это позволяет нескольким приложениям, подписанным одним и тем же ключом, работать в одном процессе, поэтому разработчик может создавать больше «модульных» приложений.
источник
Дополнительную информацию о процессе подписания можно найти в официальной документации Android здесь: http://developer.android.com/guide/publishing/app-signing.html.
Да, вы можете подписать несколько приложений одним и тем же хранилищем ключей. Но вы должны помнить одну важную вещь: если вы публикуете приложение в Play Store, вы должны подписать его не отладочным сертификатом. И если однажды вы захотите опубликовать обновление для этого приложения, хранилище ключей, используемое для подписи apk, должно быть таким же. В противном случае вы не сможете опубликовать свое обновление.
источник
Вся идея keytool состоит в том, чтобы подписать ваш apk уникальным идентификатором, указывающим на источник этого apk. Файл хранилища ключей (насколько я понимаю) используется для отладки, поэтому ваш apk имеет функциональность keytool без подписи вашего apk для производства. Итак, да, для целей отладки вы должны иметь возможность подписывать несколько apk с помощью одного хранилища ключей. Но поймите, что при запуске в производство вам понадобятся уникальные инструменты для ключей в качестве идентификаторов для каждого создаваемого apk.
источник
keytool
, что вы имеете в виду. keytool - это программа на Java, используемая для создания хранилищ ключей.