iOS:NSURLAuthenticationChallenge是否通过网络发送加密凭据?

时间:2013-11-12 10:47:31

标签: ios sharepoint encryption ntlm nsurlcredential

我的iOS应用程序正在连接到Sharepoint Web服务,Sharepoint使用NTLM身份验证。

在我身边,我已经为NTLM身份验证实现了以下代码:

- (void)connection:(NSURLConnection *)connection didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge
{
    if ([challenge previousFailureCount] == 0)
    {
    NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
    NSString *username = [userDefaults valueForKey:KEY_USERNAME];
    NSString *password = [userDefaults valueForKey:KEY_PASSWORD];

    NSURLCredential *newCredential;
    newCredential = [NSURLCredential credentialWithUser:username password:password persistence:NSURLCredentialPersistenceNone];
    [[challenge sender] useCredential:newCredential forAuthenticationChallenge:challenge];
} else {
    [[challenge sender] cancelAuthenticationChallenge:challenge];
}}

所以我的问题是

  • 上面代码中发送的用户名和密码在 加密形式?
  • 如果用户名和密码是加密模式,那么如何 NSURLAuthenticationChallenge是加密它们吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

我认为凭证是否加密取决于您用来与服务器通信的协议。例如,如果您使用的是HTTPS,那么凭据将使用HTTPS加密,但如果您使用的是普通HTTP,则凭据将是未加密的。