socket.io-client-swift
socket.io-client-swift copied to clipboard
Socket.IO pinning certificate not working in v16.x
I try pinning certificate but not work
The document does not contain CertificatePinning description in version 16.x
SocketIO Version
pod 'Socket.IO-Client-Swift', '16.0.1'
Init SocketIO
let certificatePinning = SocketIOCertificatePinning(validateHost:true)
let config: SocketIOClientConfiguration = [.log(false),
.forceNew(false) ,
.connectParams(["token": connect_token]),
.compress,
.reconnects(false),
.security(certificatePinning) /*憑證綁定*/
]
SocketManager(socketURL: url, config: config)
Class SocketIOCertificatePinning
public class SocketIOCertificatePinning: CertificatePinning {
var validateHost: Bool = false
public init(validateHost: Bool) {
self.validateHost = validateHost
}
public func evaluateTrust(trust: SecTrust, domain: String?, completion: ((PinningState) -> ())){
let e = CFErrorCreate(kCFAllocatorDefault, "FoundationSecurityError" as NSString?, 100, nil)
completion(.failed(e))
}
}
i try call completion(.failed(e))
But allways allow Certificate
What did I do wrong?
+1 I am also trying to figure out how to implement Cert pinning, but there are little to no resource on this.
@prgorasiya @lamb-mei Yes.. same for me.. Any workaround for this..