iOS NSURLConnection / CFURLConnection HTTP加载失败(kCFStreamErrorDomainSSL,-9813)

时间:2014-11-11 20:45:20

标签: ios xcode ssl nsurlconnection nsurlrequest

每当我尝试向服务器发出请求时,都会收到此错误消息。在我们设置SSL之前它工作正常,而不是全部搞砸了......我的代码是:

  // Setup URL POST Request..
NSString* code4ArmourUrl = [NSString stringWithFormat:@"https://api.code4armour.com/index.php/user/login?"];

NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:code4ArmourUrl ]];
[request setHTTPMethod:@"POST"];
[request addValue:@"00000000000000000000000000000000" forHTTPHeaderField:@"X-api-key"];

NSString* postString = [NSString stringWithFormat:@"email=%@&password=%@",emailString,passwordString];
postString = [postString stringByReplacingOccurrencesOfString:@"+" withString:@"%2b"];

[request setHTTPBody:[postString dataUsingEncoding:NSUTF8StringEncoding]];


// Make URL POST Request..
[NSURLConnection sendAsynchronousRequest:request queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError* connectionError) {

为什么这不起作用的任何原因..我相信这是SSL的一个问题,但我不知道如何解决这个问题而不做一些hacky,Apple不会最终接受到App Store?

任何帮助将不胜感激!感谢。

1 个答案:

答案 0 :(得分:6)

您的服务器设置不正确。虽然它可能具有正确签名的证书,但它缺少通向受信任根的链证书。请参阅SSLLabs analysis报告的有关其他证书和证书路径的问题。

如何配置这些缺少的中间证书取决于您的服务器。 有关更多信息,请参阅Godaddy support site