Android 使用Google Play应用程序签名时的安全注意事项

Android 使用Google Play应用程序签名时的安全注意事项,android,google-play,android-keystore,Android,Google Play,Android Keystore,我刚注册玩游戏机,一切都很好 但是我现在应该如何处理我的新上传密钥库及其密码呢? 我可以将这个密钥库置于版本控制之下,并将密码以明文形式放入构建脚本中吗 据我所知,此密钥库仅用于在上载之前临时签署我的apk。所以我认为它是相当安全的,因为除了我之外没有人能够上传新的APK来播放,而且没有任何选择通过知道上传键来访问我原来的发布密钥库。 另一件困扰我的事情是,我看不到任何更改上传密钥库的选项。现在有可能,或者至少计划很快将其添加到Play console中吗?如果我将上传密钥存储库和密码发布到版本

我刚注册玩游戏机,一切都很好

但是我现在应该如何处理我的新上传密钥库及其密码呢? 我可以将这个密钥库置于版本控制之下,并将密码以明文形式放入构建脚本中吗

据我所知,此密钥库仅用于在上载之前临时签署我的apk。所以我认为它是相当安全的,因为除了我之外没有人能够上传新的APK来播放,而且没有任何选择通过知道上传键来访问我原来的发布密钥库。
另一件困扰我的事情是,我看不到任何更改上传密钥库的选项。现在有可能,或者至少计划很快将其添加到Play console中吗?如果我将上传密钥存储库和密码发布到版本控制,如果出现问题,最好能选择切换到新的私有密钥存储库。

处理密钥存储库的方式非常个人化,但专门使用密码将其发布到源代码控制中不是一个好主意

你说得对,只有你可以上传apk到你的帐户,但你的帐户可以出于各种原因进行压缩,所以有第二步上传任何apk到你的帐户总是好的

当我在一个团队中工作时,因为我们有一个私有的源代码控制,所以我们用我们的代码库上传密钥库。但密码是通过1密码管理的

现在我一个人工作,我自己处理我的密钥库

关于更改密钥库的问题。这是不可能的。上传apk后,有两件事是不能更改的:包和密钥库。这样做是出于安全原因


您可以在这里获得更多信息:

正如@jonathanrz所说,最好将您的密钥库文件保密。 使用
gradle.properties
文件存储密钥库密码非常简单,然后只需在
build.gradle
文件中引用属性值即可


只要记住用你的生命保护密钥库文件,在多个地方保存它们的备份,如果你丢失了它们,你将不得不重新上传你的应用程序。

我将回答我自己的问题(基于)

为了更改上载密钥库,您需要谷歌支持并请求重置。这不是最简单的选择,但拥有一个仍然很好

无法看到将上载证书及其密码保存在私有存储库中的重大问题。只要不可能自动推送生产版本,听起来就足够安全,而且还可以简化Alpha/Beta版本的分发


一些人有理由担心,通过与谷歌共享发布密钥库,谷歌可能会泄露或利用它将恶意代码集成到你的应用程序中。但这样做的可能性很小,所以只要你不在Facebook或其他非常流行的应用程序上工作,依靠谷歌应该是足够安全的。

我知道不可能更改甚至删除发布密钥库,这对我来说非常有意义。但为什么我不能更改upload keystore?实际上Google在他们的IO对话中特别提到,当开始使用应用程序签名时,你可以重置upload keystore,Google要求你启用两步验证,这在理想情况下应该可以防止这种情况。泄露用于应用程序发布的帐户可能会导致其他不幸的后果,我想上传新apk的能力并不是最可怕的,所以你最好保持它的安全。我认为在你的机器上以明文形式保存重要密码不是最安全的选择。新的应用程序签名功能的一个好处是,你现在应该不再担心会丢失密钥库或密码。我想这就是问题的关键。如果你能在本地保存一些东西,并确保它是安全的、备份的,等等,那就足够了——最好不要把东西上传到云上。如果你确信你不会忘记密码,最好不要写下来。但是,所有这些不幸的事情都发生了。如果他们这样做了,你可能会失去在Google Play中更新自己应用程序的能力。如果您将此信息提交给git,会发生什么坏事?它被破坏的可能性有多大?