iOS 9.3:发生SSL错误,无法建立与服务器的安全连接

我的自签名证书出现以下错误

错误域= NSURLErrorDomain代码= -1200“发生SSL错误,无法建立与服务器的安全连接。

在测试我的一个演示应用程序的Web服务时

  • iOS 9.3
  • XCode 7.3
  • 斯威夫特2.2
  • Alamofire 3.3.0
  • 和本地服务器:https : //filename.hostname.net

在假定它是重复的之前,我要求请一路阅读,即使我已经向Apple开发者论坛报告过

使用


func testAlamofireGETRequest() -> Void

{

Alamofire.request(.GET, "https://filename.hostname.net/HelloWeb/service/greeting/john")

.responseJSON

{ response in

print("Response JSON: \(response.result.value)")

}

}


使用


func testNSURLSessionRequest() -> Void {

let session = NSURLSession.sharedSession()

let urlString = "https://filename.hostname.net/HelloWeb/service/greeting/john"

let url = NSURL(string: urlString)

let request = NSURLRequest(URL: url!)

let dataTask = session.dataTaskWithRequest(request) { (data:NSData?, response:NSURLResponse?, error:NSError?) -> Void in

print("done, error: \(error)")

//Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made.

}

dataTask.resume()

}


我花了2天没有运气:(

已经发布了一堆问题,但对我没有任何帮助

  • 传输安全已阻止明文HTTP
  • iOS9收到错误“发生ssl错误,无法建立与服务器的安全连接”
  • 如何在iOS 9中启用“应用程序传输安全性”的情况下加载HTTP URL?[重复]
  • CFNetwork SSLHandshake失败的iOS 9
  • 如何在iOS中处理“ CFNetwork SSLHandshake失败”
  • 使用自签名证书在iOS 9中发出HTTPS请求
  • ios9自签名证书和应用程序传输安全

发布Alamofire git问题

  • 执行非SSL请求#538时出现“ CFNetwork SSLHandshake失败(-9847)”错误
  • 不接受自签名证书#876
  • 如何使用自签名证书文件#977将服务器作为HTTPS连接


我的 文件以这种方式更新了ATS设置

<key>NSAppTransportSecurity</key>

<dict>

<key>NSExceptionDomains</key>

<dict>

<key>filename.hostname.net</key>

<dict>

<key>NSExceptionRequiresForwardSecrecy</key>

<false/>

<key>NSExceptionAllowsInsecureHTTPLoads</key>

<true/>

<key>NSIncludesSubdomains</key>

<true/>

<key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key>

<true/>

</dict>

</dict>

</dict>


同时,我能够得到回应

://filename.hostname.net

和 ://google.com

不是 ://filename.hostname.net

谁能建议我,为什么我在付出巨大努力后仍无法正常工作?

回答:

在OS X的命令行中,运行以下命令:

nscurl --ats-diagnostics https://filename.hostname.net --verbose

这将告诉您ATS设置的哪些组合将允许和不允许iOS访问您的网站,并应向您指出您的网站出了什么问题。

可能是以下一项或多项

  • 证书哈希算法(必须为SHA-256或更高版本)
  • TLS版本(必须为1.2)
  • TLS算法(必须提供完善的前向保密性)

以上是 iOS 9.3:发生SSL错误,无法建立与服务器的安全连接 的全部内容, 来源链接: utcz.com/qa/435329.html

回到顶部