2016-01-27 4 views
0

В андроиде странице разработчика (http://developer.android.com/tools/publishing/app-signing.html#secure-key), говорится:Могу ли я сохранить файл release release.keystore для Android в папке с ресурсами?

Держите файл хранилищу, содержащим закрытый ключ в надежном, безопасном места.

Означает ли это, что мы должны хранить файл release.keystore где-то на нашем локальном компьютере (не внутри приложения)?

Или я могу хранить его внутри папки src/main/assets, так как хранилище ключей защищено паролем? Но, с другой стороны, keyPassword и storePassword хранятся внутри файла build.gradle, поэтому сохранение файла release.keystore внутри src/main/assets - это не очень хорошая идея? Какой самый защищенный метод?

ответ

4

Вы должны хранить release.keystore какое-то место, находящееся вне приложения, например, локальный компьютер.

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

Например, если вы положили его в свое приложение и кто-то его захватил, он сможет опубликовать ваше приложение, подписав ключ.

Edit: Официальная рекомендация об обеспечении ключевой

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

  • Выберите надежные пароли для хранилища ключей и ключа.
  • Не предоставляйте и не предоставляйте кому-либо свой секретный ключ и не позволяйте неавторизованным лицам знать свои ключевые слова и ключевые пароли.
  • Храните файл хранилища ключей, содержащий секретный ключ, в безопасном и безопасном месте.
+0

Спасибо за ответ! Можете ли вы также указать мне ссылку или официальный документ, который может поддержать ваш ответ (потому что я не могу найти его где-нибудь)? Или это просто здравый смысл? – karansky

+0

Общеизвестно, что вы не делитесь своими секретными ключами с другими и сохраняете их в безопасности. – Sharj

+0

Если вы хотите узнать больше на официальной странице Android: http://developer.android.com/tools/publishing/app-signing.html#secure-key – Sharj

0

Лучше всего, чтобы сделать его копию и хранить его на локальном компьютере/вашего интернет-хранилище/Google Диск. Если вы его потеряете, вы не сможете публиковать обновления для одного и того же приложения.

2

НЕТ, никогда не делитесь своим хранилищем ключей каким-либо образом или формой.

Вам не нужно и не должно находиться в ваших приложениях.

Это просто для вас, чтобы вы подписали свои версии релизов. Никто другой не должен иметь это или знать пароль к нему.

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

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

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


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

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

+0

Я знаю, что делает хранилище ключей. Я просто не знал, что положить его в папку с активами небезопасно. Я не знал, что люди могут смотреть на мои активы после того, как они загрузили мое приложение из игрового магазина (делают ли они это с помощью декомплекса, подобного этому: [http://www.javadecompilers.com/apk](http://www .javadecompilers.com/apk)?). Спасибо за разъяснения! – karansky

+0

@Sevin Вам нужен декомпилятор, чтобы посмотреть исходный код и часть ресурсов. Apk на самом деле просто zip-файл, и вы можете извлечь его таким же образом. Просто измените расширение вашего apk на zip, извлеките его и убедитесь сами. Если вы хотите посмотреть на исходный код, вам нужны специальные декомпиляторы для Android. Популярным может быть, например, [** Apk Studio **] (http://www.vaibhavpandey.com/apkstudio/). –

+1

@Sevin И ничего в вашем апк не безопасно. Как только вы отпустите свое приложение, это в основном с открытым исходным кодом, и вы ничего не можете сделать, чтобы это предотвратить. Помните об этом, когда разрабатываете приложение. –

 Смежные вопросы

  • Нет связанных вопросов^_^