使用阻塞套接字在openssl中重新协商SSL
这是关于客户端-服务器通信中的openssl重新协商问题。openssl版本为1.0.1c 客户端和服务器使用阻塞套接字建立SSL连接,通信正常。客户端发送数据,服务器接收并发送回客户端 当服务器想要进行重新协商时,在将SSL状态设置为SSL ST_ACCEPT之后,使用SSL_Renogatiate、SSL_do_握手来完成 客户端的一般行为是在控制台上等待使用SSL_write读取数据以将其发送到服务器。在此期间,如果服务器重新协商,客户端通过调用SSL_write从控制台发送任何数据,则重新握手失败 在服务器端打印以下行,从第二次SSL_do_握手返回-1 3086063264:错误:140940F5:SSL例程:SSL3_读取字节:意外记录:s3_pkt.c:1404: 当客户端使用SSL_read进行读取时,将在客户端打印以下行,SSL_read将数据发送到服务器后返回-1 3086079648:错误:140943F2:SSL例程:SSL3_读取_字节:sslv3警报意外消息:s3_pkt.c:1251:SSL警报编号10 3086079648:错误:140940E5:SSL例程:SSL3_读取_字节:SSL握手失败:s3_pkt.c:1151: 在openssl.org中,为阻止套接字提供了以下内容 如果基础BIO处于阻塞状态,则SSL_write()只会在写入操作完成或发生错误后返回,除非发生重新协商,在这种情况下,可能会发生SSL_错误\u WANT\u READ SSL_write在接收SSL重新协商时在客户端的具体行为。在这种情况下,重新握手如何才能成功 问候,,使用阻塞套接字在openssl中重新协商SSL,openssl,Openssl,这是关于客户端-服务器通信中的openssl重新协商问题。openssl版本为1.0.1c 客户端和服务器使用阻塞套接字建立SSL连接,通信正常。客户端发送数据,服务器接收并发送回客户端 当服务器想要进行重新协商时,在将SSL状态设置为SSL ST_ACCEPT之后,使用SSL_Renogatiate、SSL_do_握手来完成 客户端的一般行为是在控制台上等待使用SSL_write读取数据以将其发送到服务器。在此期间,如果服务器重新协商,客户端通过调用SSL_write从控制台发送任何数据,则重
如果底层SSL通道需要读或写操作进行重新协商,则Pradeep
SSL_write
将在阻塞上下文中返回。您可以通过使用SSL\u set\u mode
和SSL\u mode\u AUTO\u RETRY
来允许SSL自动重新协商。此标志可以在每个连接上设置,也可以在CTX
上设置
()
SSL\u write
将在阻塞上下文中返回,如果底层SSL通道需要读或写操作以进行重新协商。您可以通过使用SSL\u set\u mode
和SSL\u mode\u AUTO\u RETRY
来允许SSL自动重新协商。此标志可以在每个连接上设置,也可以在CTX
上设置
()