如何为android cordova应用程序保存私钥

如何为android cordova应用程序保存私钥,android,cordova,Android,Cordova,让我们想象一个android/phonegap应用程序,它与服务器连接以获取数据。我想使用一些私钥,这样只有当你有应用程序时,你才能从服务器上使用API 我发现ios有一个叫做keychain的插件,但还没有发现android的类似插件。现在,这必须是一个解决的问题。很多应用程序都使用API连接android上的服务器。你如何解决这个问题 我的主要目标不是生成私钥,而是保持服务器的私密性(对于那些拥有应用程序的服务器)。如果方法是生成私钥(这是我最初的想法),那么在android上使用phone

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

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

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


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

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

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

模糊处理可能是最好的方法,但要明白,它只会最小程度地增加工作系数

将密钥保存在密钥链或密钥石中并不真正有助于保护用户免受攻击,用户可以访问,并且密钥仍在代码中

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


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

“私钥”是指RSA密钥对的私钥吗?如果没有,“私钥”的用途是什么?密钥是密码学的一部分,所以请使用keystone。另外,“私钥”是什么时候生成的,在编译时还是以后在应用程序中生成的?不,我不是指RSA密钥对的私钥。我的意思是一个私有变量,称之为密码或密钥。也许我遗漏了一些显而易见的东西,比如如何使用RSA密钥对来做我想要做的事情,保持api的私有性。对称加密密钥的常用术语是“秘密密钥”。如果不是用于加密,可能是API密钥。增益:“私钥”是什么时候生成的,在编译时还是以后在应用程序中生成的?还可以定义攻击者和受保护内容的值。在编译时。我想保存这样的api密钥,以便服务器知道发出请求的人实际上拥有应用程序