我已经使用OpenSSL API编写了一个SSL客户端来与一个SSL服务器进行交互.在OpenSSL站点中,我了解到写入缓冲区需要在写入一些数据后刷新.我在我的客户端程序中使用SSL_Write和SSL_Read.正如OpenSSL网站建议我尝试使用BIO_flush(BIO*)刷新数据,我在这里崩溃了.
我正在使用从这个站点获得的SSL库
在这里我不清楚BIO_flush是否闪烁读缓冲区或写缓冲区.. :-(所以我只是想知道有没有其他方法来刷新SSL写缓冲区......?
这是我的客户端程序的详细信息.
完成上述步骤后,我将启动两个单独的线程进行写入和读取.写线程使用SSL_write将数据写入服务器,而读线程使用SSL_Read从服务器读取数据.
在使用SSL_Write写入每个数据包后写入线程我正在调用BIO_flush(mBio).
在整个程序中,我只在这个地方直接使用mBio对象进行生物缓冲区冲洗.
当我开始发送一些数据包时,程序在BIO_flush中崩溃......根据转储说它在BIO_ctrl函数中.我得到的不仅仅是那个.
有没有人使用我上面提供的链接库并面临同样的问题..?如果是,请告诉我您是否知道解决方案.
有没有任何线程同步规则可以使用BIO_flush()......?我的意思是调用BIO_flush SSL_Read不应该同时发生......?
我计划在同一主机上运行的两个进程之间使用 unix 域套接字进行 IPC(进程间通信)。但是在选择 unix 套接字之前,我还必须研究数据安全性。
我只是想知道如果我使用 unix 套接字而不加密我在该连接上发送的数据,是否有任何方法可以进行“中间人”攻击?