我正在尝试连接到需要客户端验证的服务器。我在CA生成的应用程序包中有一个.P12证书。有没有办法让socket.IO在连接到服务器时显示此证书。 (服务器是反向代理,虽然我不认为这会导致问题)
let opts: [String : AnyObject] = ["log": true, "sessionDelegate": self, "forceWebsockets" : true]
self.socket = SocketIOClient(socketURL: "https://myapp.something.com:49447", options: opts)
self.socket.on("connect") {[weak self] data, ack in
self?.handleConnect()
return
}
self.socket.connect()
我有一个委托setUp来处理挑战,但是在我到达那一点之前,ssl握手失败了。
CFNetwork SSLHandshake失败(-9824 - > -9829)
func URLSession(session: NSURLSession, didReceiveChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
completionHandler(.UseCredential, NSURLCredential(trust: challenge.protectionSpace.serverTrust!))
}