【问题标题】:using a client certificate with Socket.io IOS client使用带有 Socket.io IOS 客户端的客户端证书
【发布时间】:2016-03-09 15:19:15
【问题描述】:

我正在尝试连接到需要客户端验证的服务器。我的应用程序中的捆绑包中有一个 .P12 证书,由 CA 生成。有没有办法让 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()

我有一个委托设置来处理挑战,但 ssl 握手在我到达那个点之前就失败了。

CFNetwork SSLHandshake 失败 (-9824 -> -9829)

func URLSession(session: NSURLSession, didReceiveChallenge challenge: NSURLAuthenticationChallenge, completionHandler: (NSURLSessionAuthChallengeDisposition, NSURLCredential?) -> Void) {
    completionHandler(.UseCredential, NSURLCredential(trust: challenge.protectionSpace.serverTrust!))
}

【问题讨论】:

    标签: ios ssl socket.io


    【解决方案1】:

    您需要自己将p12安装到您应用的钥匙串中,参考here

    一旦安装,它将可用于 https 连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-12-10
      • 2013-02-25
      • 2023-03-23
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多