将API密钥存储在密钥库中

Per*_*tra 2 android android-keystore

我继承了一个应用程序,该应用程序调用受API密钥保护的服务,不幸的是该API密钥已嵌入该应用程序中。显然,这并不理想,因此我希望将API密钥嵌入Android Keystore中。我过去在其他Android应用程序上使用过https://github.com/scottyab/secure-preferences之类的库,但在这种情况下,安全性不会通过安全性审核。

阅读以下内容:https : //medium.com/@ericfu/securely-storing-secrets-in-an-android-application-501f030ae5a3我得到了所有东西,但是如何在最初的密钥库中获取API密钥作为构建的一部分。理想情况下,我会将API密钥作为登录过程的一部分返回,以便在运行时将其插入,但是不幸的是,我目前无法更改登录服务。

我已经阅读了许多文章,例如:在应用程序中存储和保护私有API密钥的最佳实践,但是大多数实践集中在将密钥保留在源代码存储库之外。

因此,问题是:是否有一个gradle构建机制(或任何机制)可以在构建时将特定的数据插入Android Keystore?

Com*_*are 6

是否有gradle构建机制(或任何机制)可以在构建时将特定数据插入Android Keystore?

根据定义,这是不可能的。该AndroidKeyStore是用户的Android设备,而不是开发商的机器。在构建时,您的应用不在用户的Android设备上,并且无法对他们执行任何操作。