首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设置CFStream属性失败

设置CFStream属性失败
EN

Stack Overflow用户
提问于 2015-07-16 12:50:10
回答 1查看 491关注 0票数 0

我在尝试建立与SNI的TLS连接。问题是,第一个属性设置调用返回指示已被接受的1。接下来的两个返回0,这意味着它们没有通过。理由是什么呢?

在某种程度上,我必须添加我自己的证书才能被信任,但据我所知,这将在打开流之后完成,所以这里不应该有任何原因。

另外,kCFStreamSocketSecurityLevelNegotiatedSSL是否支持tls1.2,因为没有常量可以直接选择它?

代码语言:javascript
复制
    var tempInputStream: Unmanaged<CFReadStream>?
    var tempOutputStream: Unmanaged<CFWriteStream>?

    CFStreamCreatePairWithSocketToHost(nil, address as CFStringRef, port, &tempInputStream, &tempOutputStream)

    let cfInputStream: CFReadStream = tempInputStream!.takeRetainedValue()
    let cfOutputStream: CFWriteStream = tempOutputStream!.takeRetainedValue()

//setting properties
    print(CFReadStreamSetProperty(cfInputStream, kCFStreamPropertySocketSecurityLevel, kCFStreamSocketSecurityLevelNegotiatedSSL))
    print(CFReadStreamSetProperty(cfInputStream, kCFStreamSSLValidatesCertificateChain, kCFBooleanFalse))
    print(CFReadStreamSetProperty(cfInputStream, kCFStreamSSLPeerName, "peer.address"))


    let inputStream: NSInputStream = cfInputStream
    let outputStream: NSOutputStream = cfOutputStream

    inputStream.delegate = self
    inputStream.delegate = self

    inputStream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)
    outputStream.scheduleInRunLoop(NSRunLoop.currentRunLoop(), forMode: NSDefaultRunLoopMode)

    inputStream.open()
    outputStream.open()
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-07-16 13:04:30

kCFStreamSSLValidatesCertificateChainkCFStreamSSLPeerName不是流属性。它们是SSL设置属性。您需要将它们全部收集到一个字典中,并将其分配给kCFStreamPropertySSLSettings

代码语言:javascript
复制
let ssl = [
    String(kCFStreamSSLValidatesCertificateChain): kCFBooleanFalse, // You an probably use "false" here
    String(kCFStreamSSLPeerName): "peer.address"
]

print(CFReadStreamSetProperty(cfInputStream, kCFStreamPropertySSLSettings, ssl))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31454650

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档