NSURLConnection忽略SSL证书?

林·迈尔

我知道这个问题经常被问到,但是我已经实施了答案中找到的解决方案,但是我没有任何运气。我不是Swift开发人员,所以我想我缺少了一些东西。

这是我的NSURLConnectionDelegate方法:

func connection(connection: NSURLConnection, canAuthenticateAgainstProtectionSpace protectionSpace: NSURLProtectionSpace) -> Bool {
    return protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust
}

func connection(connection: NSURLConnection, willSendRequestForAuthenticationChallenge challenge: NSURLAuthenticationChallenge) {
    print("Second attempt resulted in authentication challenge")

    challenge.sender!.useCredential(NSURLCredential(forTrust: challenge.protectionSpace.serverTrust!), forAuthenticationChallenge: challenge)
    challenge.sender!.continueWithoutCredentialForAuthenticationChallenge(challenge)
}

func connection(connection: NSURLConnection, didReceiveResponse response: NSURLResponse) {
    print("We got a response.....")
}

func connection(connection: NSURLConnection, didFailWithError error: NSError) {
    print("============ second attempt failed ==============")
    print("\(error)")
}

连接通过不允许DNS的VPN进行。我们必须使用IP,这会导致无效的证书错误。该证书是正确的,只是不使用IP。我试图忽略证书错误,但仍收到“发生SSL错误,无法建立与服务器的安全连接”

我的理解是

challenge.sender!.useCredential(NSURLCredential(forTrust: challenge.protectionSpace.serverTrust!), forAuthenticationChallenge: challenge)
challenge.sender!.continueWithoutCredentialForAuthenticationChallenge(challenge)

应该解决此问题,但似乎无法正常工作。打印行确实在运行,因此正在调用委托方法。

谢谢!

林·迈尔

正如Breek所建议的那样,info.plist中的NSAppTransportSecurity为iOS 9带来了成功。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

忽略Servlet中的SSL证书

来自分类Dev

PHP PhantomJS忽略SSL证书

来自分类Dev

如何忽略SSL证书的Java

来自分类Dev

在Swift中使用NSURLConnection和有效的SSL证书

来自分类Dev

Apache Camel ProducerTemplate忽略SSL证书检查

来自分类Dev

忽略提取中的自签名SSL证书

来自分类常见问题

忽略Apache HttpClient 4.3中的SSL证书

来自分类Dev

Python 3 urllib忽略SSL证书验证

来自分类Dev

忽略无效的SSL证书Windows 10

来自分类Dev

忽略验证SSL证书python套接字

来自分类Dev

忽略无效的SSL证书Windows 10

来自分类Dev

忽略无效的SSL证书i-phone

来自分类Dev

如何使Jersey忽略ssl证书错误?

来自分类Dev

Java 和 HttpsUrlConnection 忽略 ssl 证书

来自分类Dev

devtools :: install_github()-忽略SSL证书验证失败

来自分类Dev

Java SSL选择错误的证书,忽略密钥使用

来自分类Dev

如何在pysimplesoap中忽略SSL证书验证

来自分类Dev

如何使用JavaScript请求库忽略无效的SSL证书?

来自分类Dev

Siddhi http-sink 忽略 ssl 证书错误

来自分类Dev

在Swift中将NSURLConnection与有效的SSL证书一起使用

来自分类Dev

使用NSURLConnection处理自签名证书

来自分类Dev

NSURLConnection此服务器的证书无效

来自分类Dev

忽略 SSL 证书适用于 Maven 3,但对于具有 SSL 套接字工厂异常的 Maven 2 失败

来自分类Dev

SSL证书动态DNS

来自分类Dev

SSL证书和链接

来自分类Dev

SSL证书不受信任

来自分类Dev

SSL证书错误

来自分类Dev

curl SSL证书错误

来自分类Dev

未安装SSL证书