如何确保只允许我的iphone应用程序使用我的应用引擎应用程序发送和接收数据?我可能不得不使用密钥,但我不知道如何。我可以使用post / get通过https发送我的静态密钥吗?或者我是否需要使用一些动态密钥算法?
任何帮助将不胜感激! 比约
答案 0 :(得分:2)
假设您认为可以保持iPhone应用程序的秘密不被发现,您需要的是HMAC。对于您发出的每个请求,将请求的文本传递给HMAC-SHA1等函数,并将密钥作为密钥,并将结果添加到您发出的请求中。当服务器收到请求时,执行相同的操作,并验证HMAC是否匹配。
答案 1 :(得分:0)
我不完全确定你想要完成什么。
但是,在iPhone应用程序中共享秘密或API密钥通常是一个坏主意。
您正在谈论自己的AppEngine应用程序。为什么不在AppEngine端创建一个简单的(基于JSON的)Web服务,您的应用会与之对话?我怀疑是否需要直接使用iPhone应用程序中的AppEngine凭据。
如果这不能回答您的问题,请提供更多详细信息。
答案 2 :(得分:0)
在您的网络服务上使用SSL证书,因为传递给它的任何数据都是加密的。
加密的SSL连接需要 客户端之间发送的所有信息 以及由...加密的服务器 发送软件并解密 接收软件,保护私人 来自拦截的信息 因特网。
此外,每次调用该服务时,都会发送一个您已定义的guid以及您的数据。必须在Web服务执行任何操作之前验证此guid。要进一步锁定,您可以创建一个生成guid的服务,该服务需要为任何后续呼叫服务传递回来。
另外请确保您不允许任何人在服务器上看到您的wsdl,否则他们可以猜出您的参数。
来自RapidSSL的SSL证书费用为每年17美元,因此无需担心费用。