为什么iOS8 SSL请求从iOS7迁移后间歇性失败?

我有一个iOS应用程序,它可以在iOS7上正常工作。 现在我们正在iOS8上进行testing,在iOS8下运行时,我们遇到了SSL问题。 一些(但不是全部)SSL请求失败。 所有的请求都是针对同一台服务器的,SSL证书是有效的,可以在桌面上运行,并且在同一个应用运行iOS7时工作。

我们得到的错误是kCFURLErrorSecureConnectionFailed ,苹果文档是:

安全连接失败,原因不明。

另外,我得到以下login在控制台:

CFNetwork SSLHandshake失败(-9846)

我们正在使用NSURLConnection。 我们已经实现了connection: willSendRequestForAuthenticationChallenge ,但是当我们得到错误的时候它不会被调用。

有谁知道这是否是一个已知的iOS8问题? 我的下一步要弄清楚为什么这些请求会失败?

您看到的错误是SecureTransport错误。 错误-9846是errSSLBadRecordMac 。 这是SSL机制中的一个传输级错误,通常是由实现中的一个错误引起的 – 苹果公司,在这种情况下不是你的。 请将其减less到testing用例并提交一个错误:

https://bugreport.apple.com

事实certificate,这实际上是运行该站点的负载均衡器的固件中的一个错误。 我们升级了固件,现在一切正常。