0

在我的应用程序与之通信的 Web API 中,身份验证过程的设计方式如下:

  1. 用户输入group他/她所属的名称。
  2. 服务器发送组成员列表。
  3. 用户选择 auser name并键入 a password
  4. group id我的应用程序将由,user id和构造的哈希发送password到服务器以验证凭据,并在成功验证的情况下在进一步的事务中使用此哈希。

有了这个过程,我不会收到像or之类的标准NSURLConnection消息。 我本身可以处理它,但是当涉及到安全存储凭据时,我会感到困惑。有没有办法通过一些内置的 iOS SDK 方法来做到这一点,或者我必须手动将哈希写入文件中,例如?什么是正确的方法?connection:canAuthenticateAgainstProtectionSpace:connection:didReceiveAuthenticationChallenge:

4

1 回答 1

1

钥匙串似乎是存储用户凭据/哈希的最佳选择。查看http://developer.apple.com/library/mac/#documentation/Security/Conceptual/keychainServConcepts/iPhoneTasks/iPhoneTasks.html

https://github.com/ldandersen/scifihifi-iphone/tree/05e64ff2814a8192c43f1f81eb8e09dc3764fa18/security

  • 请注意,虽然钥匙串可能是 iOS 中存储此类数据最安全的地方,但它并不完全安全。但是考虑到您要存储的数据,它可能已经足够了。

编辑:查看http://overhrd.com/?p=208 您可以通过这种性质的简单调用访问钥匙串上的数据:

[Keychain setString:@"hashhashhash" forKey:@"userHash"];

// later on…
[Keychain getStringForKey:@"userHash"];
于 2011-05-15T14:12:41.053 回答