Skip to content

Instantly share code, notes, and snippets.

@edwardmp
Created June 13, 2015 15:58
Show Gist options
  • Save edwardmp/a0ffb3ace02ce4392b26 to your computer and use it in GitHub Desktop.
Save edwardmp/a0ffb3ace02ce4392b26 to your computer and use it in GitHub Desktop.
Working example of accepting self-signed SSL certificate in Swift
import UIKit
import Foundation
class ViewController: UIViewController, NSURLSessionDelegate {
override func viewDidLoad() {
super.viewDidLoad()
httpGet(NSMutableURLRequest(URL: NSURL(string: "https://example.com")!))
}
func httpGet(request: NSMutableURLRequest!) {
var configuration =
NSURLSessionConfiguration.defaultSessionConfiguration()
var session = NSURLSession(configuration: configuration, delegate: self, delegateQueue:NSOperationQueue.mainQueue())
var task = session.dataTaskWithRequest(request){
(data: NSData!, response: NSURLResponse!, error: NSError!) -> Void in
if error == nil {
var result = NSString(data: data, encoding:
NSASCIIStringEncoding)!
NSLog("result %@", result)
}
}
task.resume()
}
func URLSession(session: NSURLSession, didReceiveChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential!) -> Void) {
completionHandler(NSURLSessionAuthChallengeDisposition.UseCredential, NSURLCredential(forTrust: challenge.protectionSpace.serverTrust))
}
}
@dreamer2q
Copy link

on iOS17, app built by xcode-beta (Version 15.0 beta 5), the sample code is not working.

I got error as follows:

Error Domain=NSURLErrorDomain Code=-1202 "The certificate for this server is invalid. You might be connecting to a server that is pretending to be “xxx” which could put your confidential information at risk."

also with code -1200

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment