如何保存安卓cordova应用程序的私钥



让我们想象一个安卓/phonegap应用程序与数据服务器连接。我想使用一些私钥,这样只有当你有应用程序时,你才能从服务器使用API。

我发现有一个名为keychain的ios插件,但还没有发现类似的android插件。现在,这必须是一个解决的问题。许多应用程序都使用API的android服务器。你如何解决这个问题?

我的主要目标不是生成私钥,而是保持服务器私有(对于那些拥有应用程序的服务器)。如果方法是生成私钥(这是我一开始的想法),那么在安卓系统上使用phonegap时,我找不到安全保存私钥的方法。我得到的结论是把它放在javascript上并混淆代码。

我找到了android密钥库,但如果我理解正确,那是用于加密的,我不需要。

几乎不可能保护编译时密钥,它就在代码中。从用户那里保护它甚至更加困难。

根据平台的不同,可以通过检查文件来查看可执行文件。包括iOS在内的其他平台对可执行文件进行加密,直到执行时才可用。

困惑可能是你最好的方法,但要明白,这只会在最小程度上增加工作因素。

将密钥保存在钥匙链或keystone中并不能真正帮助保护用户,因为用户可以访问,并且密钥仍在代码中。

此外,您还需要将https与当前服务器配置一起使用,并固定证书。

如果您需要更好的安全性,请考虑在首次运行时创建密钥或要求用户登录。

最新更新