2014-10-28 1 views
2

iOS 응용 프로그램에서 iOS 장치를 iOS8.1로 업그레이드 한 후 SSL 오류가 발생합니다. 어느 누구도 나를 도울 수 있습니까? SSL 인증서와 관련하여 iOS8과 iOS8.1의 차이점은 무엇입니까? iOS8.1에서는 서버 측에서 어떤 종류의 인증서를 추가해야합니까? CoreDova APP에서 SURLConnection/CFURLConnection HTTP로드 실패 (kCFStreamErrorDomainSSL, -9824)

콘솔의 로그입니다 :

: CFNetwork에서 SSLHandshake 실패 (-9824) :있는 NSURLConnection/CFURLConnection HTTP로드

답변

2

당신은 신뢰할 수없는 인증서가있는 사이트에 연결 (kCFStreamErrorDomainSSL, -9824)를 실패 . 오류 코드에 대한 :

그것의 오류 도메인 kCFStreamErrorDomainSSL이 도메인에 속하는 CFStream doc 오류 코드 당은 SecureTransport.h 파일에서 찾을 수 있습니다. 이 파일 당으로 -9824

errSSLPeerHandshakeFail  = -9824, /* handshake failure */ 

솔루션 알려진 인증 기관에서 인증서를 얻거나 키 체인에 인증서 신뢰 목록에 해당 인증서를 추가하는 것입니다.

신뢰할 수없는 인증서가있는 사이트에 연결하려고하면 API가 호출되어이 신뢰할 수없는 인증서에 대한 결정을 내립니다. 당신은 아마 당신이 인증서에 대해 조사하기 위해 다음 호출 할 수 있습니다이 방법 안쪽이 NSURLConnectionDelegate method

- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge 

를 구현해야합니다.

SecTrustRef trust = [[challenge protectionSpace] serverTrust]; 
SecCertificateRef leafCert = SecTrustGetCertificateAtIndex(trust, 0); 
관련 문제