【问题标题】:CFNetwork SSLHandshake failed (-9805) in iOS 8.1CFNetwork SSLHandshake 在 iOS 8.1 中失败 (-9805)
【发布时间】:2015-01-05 14:13:11
【问题描述】:

我正在尝试使用 Alamofire(用于网络的 Swift 库,https://github.com/Alamofire/Alamofire)将 HTTP POST 发送到服务器,但在执行 HTTP POST 时出现以下错误:

2015-01-05 19:37:07.137 PIPiOS[1021:26574] CFNetwork SSLHandshake failed (-9805) 2015-01-05 19:37:07.540 PIPiOS[1021:26574] CFNetwork SSLHandshake failed (-9805) 2015-01-05 19:37:07.942 PIPiOS[1021:26574] CFNetwork SSLHandshake failed (-9805) 2015-01-05 19:37:07.943 PIPiOS[1021:26574] NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -9805) <NSMutableURLRequest: 0x7f99425177c0> { URL: https://kmis.brookes.ac.uk/csms/w_secure.login } nil Optional(Error Domain=NSURLErrorDomain Code=-1200 "The operation couldn’t be completed. (NSURLErrorDomain error -1200.)" UserInfo=0x7f9944859110 {NSErrorFailingURLStringKey=https://kmis.brookes.ac.uk/csms/w_secure.login, NSErrorFailingURLKey=https://kmis.brookes.ac.uk/csms/w_secure.login, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9805, NSUnderlyingError=0x7f994259f3c0 "The operation couldn’t be completed. (kCFErrorDomainCFNetwork error -1200.)"}) 2015-01-05 19:38:25.115 Oxford Brookes[1021:27197] Terminating since there is no system app.

我以前使用 SwiftHTTP 库并遇到同样的错误。 HTTP POST 通过 Java 和 PHP 可以正常工作,所以我知道服务器没有任何问题。知道为什么会这样吗?

PS:我正在针对 iOS 8.1 的 iOS 模拟器上进行测试,是的,我已经检查了日期/时间,这很好

【问题讨论】:

标签: ios xcode swift ssl nsurlconnection


【解决方案1】:

服务器的配置损坏。它不支持常见且最兼容的 SSLv23 握手,但仅支持显式 TLSv1 和 SSLv3 握手。浏览器通过尝试不同的握手来解决这类问题,但其他应用程序不会这样做。你可以看看SSLLabs 看看这个服务器的配置有多糟糕。

我不是苹果开发人员,但从文档中我猜您需要使用 SSLSetProtocolVersion* 函数来强制执行 TLS1.0 或 SSL3.0 连接。

【讨论】:

    【解决方案2】:

    尽量避免使用 SSL 安全策略。签入你的框架 API,你会发现一些属性可以做到这一点。 正如我在 AFnetworking 工作时发现的那样。

    manager.securityPolicy.allowInvalidCertificates = YES;
    

    希望对你有帮助。

    你也可以这样试试 通常当我收到 CFNetwork SSLHandshake failed -(*) 这是因为我的本地 wifi 网络(设备连接到网络但没有连接到互联网)

    在另一个网络上再试一次(3G 对我来说是最快的解决方案)

    【讨论】:

      猜你喜欢
      • 2015-08-23
      • 2015-09-21
      • 2016-02-11
      • 1970-01-01
      • 2016-04-08
      • 2015-07-29
      • 1970-01-01
      相关资源
      最近更新 更多