用于iphone访问的app引擎密钥

时间:2010-02-13 13:21:29

标签: iphone google-app-engine connection security secret-key

如何确保只允许我的iphone应用程序使用我的应用引擎应用程序发送和接收数据?我可能不得不使用密钥,但我不知道如何。我可以使用post / get通过https发送我的静态密钥吗?或者我是否需要使用一些动态密钥算法?

任何帮助将不胜感激! 比约

3 个答案:

答案 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美元,因此无需担心费用。