让我们设想一个与服务器连接以获取数据的android / phonegap应用程序。我想使用一些私钥,这样只有拥有应用程序才能使用服务器上的API。
我发现有一个名为keychain的ios插件,但没有找到类似于android的东西。现在,这必须是一个已解决的问题。许多应用程序使用API来安装android上的服务器。你是怎么解决的?
我的主要目标是不生成私钥,而是保持服务器私有(对于那些拥有应用程序的人)。如果要走的方法是生成一个私钥(这是我最初的想法),那么在android上使用phonegap时我找不到安全保存私钥的方法。我收到的关闭是将它放在javascript上并混淆代码。
我找到了android密钥库,但是如果我正确理解了我不需要的密码术。
答案 0 :(得分:0)
确保编译时密钥几乎是不可能的,它在代码中。从用户那里保护它更加困难。
根据平台,可通过检查文件查看可执行文件。其他平台(包括iOS)对可执行文件进行加密,直到执行时才可用。
混淆可能是您最好的方法,但要明白它只会最大限度地提高工作因素。
将密钥保存在钥匙串或梯形图中并不能真正帮助保护用户,用户可以访问,密钥仍在代码中。
此外,您需要使用具有当前服务器配置的https并固定证书。
如果您需要更好的安全性,请考虑在首次运行时创建密钥或要求用户登录。