2014-10-28 33 views
2

在我們的iOS應用程序中,iOS設備升級到iOS8.1後出現SSL錯誤。任何人都可以幫助我,關於iOS8和iOS8.1,ssl證書有什麼區別? iOS8.1需要在服務器端添加什麼樣的證書?SURLConnection/CFURLConnection CoreDova APP中的HTTP加載失敗(kCFStreamErrorDomainSSL,-9824)APP

這是從控制檯日誌:

:CFNetwork的SSLHandshake失敗(-9824) :NSURLConnection的/ CFURLConnection HTTP加載失敗(kCFStreamErrorDomainSSL,-9824)

回答

2

您正在連接到不受信任的證書的網站。 關於錯誤代碼:

其誤差區域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); 
相關問題