我正在尝试通过蓝牙进行SSL握手。我一直在尝试使用安全传输API(https://developer.apple.com/documentation/security/secure_transport)来实现此目标:
func sslHandshake() {
guard let sslContext = SSLCreateContext(kCFAllocatorDefault, .clientSide, .streamType) else {
return
}
SSLSetIOFuncs(sslContext, { (connection, data, dataLength) -> OSStatus in
//Read
return noErr
}) { (connection, data, dataLength) -> OSStatus in
//Write
writeToPeripheral(data)
return noErr
}
SSLHandshake(sslContext)
}
我已经能够毫无问题地将客户端问候数据写入蓝牙外围设备。但是在写从外围设备获取的服务器问候之前,SSL握手失败,并且当我尝试进行SSLRead
时遇到错误-9806
。
有没有办法避免握手失败,因此我可以为握手编写服务器问候,证书和其他内容?