无法实现Swift SSLCreateContext

时间:2016-01-28 11:36:29

标签: ios swift tls1.2 secure-transport

我是iOS开发的新手,我正在尝试实现与自定义端口的SSL连接。

我发现此答案中的代码是通过套接字https://stackoverflow.com/a/30733961/2306428

上安全连接的最佳/最简单实现

但是,我收到了这些错误:

Use of unresolved identifier 'kSSLClientSide' Use of unresolved identifier 'kSSLStreamType' Use of unresolved identifier 'kSSLSessionOptionBreakOnClientAuth'

我已经检查过,我正在使用iOS 9.2 SDK和Xcode 7.2运行Swift 2.1.1版。我甚至尝试添加import Security,但这没有效果。

找不到这些常数的原因是什么?

正在测试的行在这里:https://github.com/ksred/bank-ios/blob/master/Bank/TCPClient.swift#L209

1 个答案:

答案 0 :(得分:0)

请使用Swift中声明的标识符:

if let sslContext = SSLCreateContext(kCFAllocatorDefault, SSLProtocolSide.ClientSide, SSLConnectionType.StreamType) {
    SSLSetIOFuncs(sslContext, sslReadCallback, sslWriteCallback)
    SSLSetConnection(sslContext, &socketfd)
    SSLSetSessionOption(sslContext, SSLSessionOption.BreakOnClientAuth, true)
    SSLHandshake(sslContext)
}