2011-04-04 102 views
0

我有一个服务器(而不是web服务器),iphone设备需要连接到。(iphone)如何将密码发送到我的服务器?

连接/交易都在用C BSD套接字++( - iphone相关的类不NS *)来完成。

我需要客户端发送密码到服务器,并简单地用对称算法加密。
然后,我意识到苹果要求我列出所用的所有加密算法等等。 (他们看起来相当挑剔)

我已经看过了stackoverflow和所有引用SSL,我没有用过。

  1. 是否绝对需要使用SSL,假设密码将用于在我的应用程序中花费游戏币。
  2. 看来我需要购买一个不便宜的SSL证书。有没有办法自己设立一个证书,至少是为了测试? (我是无知的SSL机制,除了我知道这utuilizes公共密钥加密)
  3. 我应该如何添加SSL能力,我现有的Socket类?有没有可以给我一个出发点的教程?它是设置套接字选项还是使用某种东西封装现有套接字的问题?
  4. 请问iphone sdk提供的ssl库可以整合到C++类中吗? (没有NS *对象)因为我共享iPhone客户端和服务器之间的C++套接字类(它只是c套接字函数的一个包装)。

这是一个长期的问题清单;;

非常感谢你提前。

+0

5.如果你在美国,你需要获得出口许可证(因为使用了加密)。只有在获得该信息时,苹果才允许您在美国的appstore中销售。 – SVD 2011-04-04 16:27:14

回答

0
  1. 假 - 获取iOS上工作的SSL证书是便宜,因为免费。我在iOS上使用了StartSSL,结果完美无瑕。 PKI的成本是一个神话。在那里有很多有名的解决方案,真的不应该有任何借口说明为什么你不能以低成本实现这种安全性,或者根本没有。
  2. 如果可以帮助它,请不要使用原始套接字,为什么不使用HTTP?如果你使用标准协议,你会得到很多提升,而不是巧合,SSL也是如此。
  3. 如果你去HTTP,那么你可以使用NSURLConnection,或裸最小,CFNetwork,这是一个C API,在所有你需要做的HTTP通信烘烤。因为C++是C的超集,所以可以毫无问题地添加它。也就是说,我不确定你对Objective-C的反感是什么。这是iPhone上的一流公民,为什么不利用它?
+0

@hartman谢谢你,服务器(我写的)不是一个web服务器:它不会说http。如果我在客户端使用http,那么我必须在我的服务器中包含http处理,这将是一项巨大的工作。 (我错了吗?,是不是建议http假设服务器端是web服务器?)我想坚持使用c/C++套接字的原因是它让我在iphone和服务器之间共享套接字相关的代码。 – eugene 2011-04-05 06:18:47

+0

@Eugene - 猜猜我应该仔细阅读!无论如何,如果您不想使用HTTP,这确实会使您必须遵守的加密出口法规复杂化。 – 2011-04-05 17:03:29

相关问题