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

Mik*_*imz 2 ssl xcode nsurlconnection nsurlrequest ios

每当我尝试向服务器发出请求时,我都会收到此错误.在我们设置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) {
Run Code Online (Sandbox Code Playgroud)

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

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

Ste*_*ich 6

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

如何配置这些缺少的中间证书取决于您的服务器.有关更多信息,请参阅Godaddy支持网站.