2014-11-11 4 views
2

Google 서버에 요청할 때마다이 오류가 발생합니다.iOS NSURLConnection/CFURLConnection HTTP로드 실패 (kCFStreamErrorDomainSSL, -9813)

// 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) { 

이없는 어떤 이유 working..I 그것이 SSL하지만 돈의 문제라고 생각 : 우리가 설정 SSL이 아닌 내 코드를 모두 엉망 up..here입니다 전에 그것은 잘 작동했다 애플이 앱 스토어를 받아 들일 수 없다는 말도하지 않고이 문제를 어떻게 해결할 수 있을지 모르겠다.

도움이 될 것입니다. 감사.

+0

Mac에서 cURL을 사용하여 요청을 성공적으로 보낼 수 있었습니까? 서버가 작동하고 있습니까? 인증 데이터를 정의하는 헤더가 누락 되었습니까? –

+0

내 Mac에서 cURL을 사용하는 데 문제가 없습니다. 여기에 멋진 것들이 있습니다! HELPP! –

+0

cURL에서 인증서를 확인하지 않은 것처럼 보입니다.이 문제는 무엇입니까? 그렇다면 어떻게 해결할 수 있습니까? –

답변

6

서버가 올바르게 설정되지 않았습니다. 서명 된 인증서가있는 동안 신뢰할 수있는 루트로 이어지는 체인 인증서가 없습니다. 추가 인증서 및 인증 경로에 대해서는 SSLLabs analysis에보고 된 문제점을 참조하십시오.

누락 된 중간 인증서를 구성하는 방법은 서버에 따라 다릅니다. 자세한 내용은 Godaddy support site을 참조하십시오.

+0

동생에게 감사드립니다. 문제가있는 데 도움이되었습니다. –

+0

안녕하세요 @ 스탄 당신은이 문제에 대해 매우 잘 알고 있습니다. SSLLabs 분석에 갔을 때 내 NSURLConnection에서이 문제를 일으킬 수있는 사항을 보았습니까? –

+0

@MikeSimz : 언급 한 부분을 살펴보면 인증 경로에 '체인 문제 - 불완전'및 '추가 다운로드'가 표시됩니다. –