Macos 苹果SSL安全传输

Macos 苹果SSL安全传输,macos,ssl,secure-transport,Macos,Ssl,Secure Transport,我刚刚开始使用OSX,对它一点经验都没有。但我现在想做的就是用Apple Security API替换旧的OpenSSL代码。我正在使用这些函数,SSLWrite和SSLRead 因此SSLSetIOFuncs设置执行写/读操作(我应该实现)的回调。在这一点上出现了很多问题: 首先,我不明白为什么要实现它(在OpenSSL中,它已经实现了)。但好吧,我必须这么做 这个实现应该加密吗?我想没有 还有以下两个功能: OSStatus SSLWrite (SSLC

我刚刚开始使用OSX,对它一点经验都没有。但我现在想做的就是用Apple Security API替换旧的OpenSSL代码。我正在使用这些函数,
SSLWrite
SSLRead

因此
SSLSetIOFuncs
设置执行写/读操作(我应该实现)的回调。在这一点上出现了很多问题:

  • 首先,我不明白为什么要实现它(在OpenSSL中,它已经实现了)。但好吧,我必须这么做
  • 这个实现应该加密吗?我想没有
  • 还有以下两个功能:

    OSStatus
    SSLWrite                    (SSLContextRef      context,
                                 const void *       __nullable data,
                                 size_t             dataLength,
                                 size_t             *processed);
    
    OSStatus
    SSLRead                    (SSLContextRef       context,
                                void *              data,           
                                size_t              dataLength,
                                size_t          *processed);
    
    根据代码注释,它们是“正常的应用程序级读/写”。那么为什么我需要为读写定义这两个回调呢?若前两个是回调,那个么我应该调用哪些函数来读取/写入代码(当我真的需要从服务器读取一些数据时)


    没有好的文档,我都被困在里面了。也许是我太笨了,但不管怎样,很少的帮助都是完美的。请帮忙

    与OpenSSL的
    SSL\u read()
    SSL\u write()函数不同,SecureTransport是基于回调的。这可能需要对代码进行重大更改。如果您想要一个
    /
    -风格的API,可以使用SecureTransport进行加密,请查看,特别是

    谢谢!我看你对这个API很熟悉。那你能回答另一个问题吗?那么这两个回调(SSLReadFunc和SSLWriteFunc)应该如何正确地实现呢?如果我只实现从/到套接字的读/写(例如使用C posix读/写函数),那么加密呢(因为OpenSSL SSL_write()和SSL_read()执行加密)?以及SSLWrite、sslhead函数和SSLReadFunc、SSLWriteFunc回调如何连接?我应该在这两个回调函数中调用SSLWrite、SSLRead吗?SSLWrite()和SSLRead()只应在建立SSL会话时使用。如果您使用BSD套接字,建议您遵循以下示例:和