Hi,

I was hoping to get some insight on renegotiation issues I've been having.

The program I've been developing is using OpenSSL in C++ and is a small client/server application. But I am writing directly to memory bios and SSL as to use our existing socket server. Everything so far seems to be working good except for renegotiation in some instances. It looks like if the handshake between server and client comes up with an SSLv3 connection, the client can initiate a renegotiation and it looks like the process completes fine. However if the server and client handshake comes up with a TLS connection the renegotiation doesn't seem to complete. The client's SSL gets stuck in a state SSL_want_read it seems.

So simple examples:

Example 1)
Server SSL_CTX uses SSLv23_server_method() or SSLv3_server_method()
Client SSL_CTX uses SSLv3_client_method()
Handshake creates a SSLv3 connection.

Client initiates renegotiation with server and all completes ok.

Example 2)
Server SSL_CTX uses SSLv23_server_method() or TLSv1_server_method()
Client SSL_CTX uses SSLv23_client_method() or TLSv1_client_method()
Handshake creates a TLS 1.2 connection

Client initiates renegotiation and a little data is sent back and forth between client and server (29bytes a couple of times) but the client permanently remains in SSL_want_read state.

Any help is appreciated. I'm not sure if TLS renegotiation is supported, I know there was issues with it before. I can provide any more information or clarification as requested.

Thank you,

--
Chris Long
Programmer/Analyst, Bingo Systems
Lottery Systems Division
Canadian Bank Note Company Ltd.

______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    openssl-users@openssl.org
Automated List Manager                           majord...@openssl.org

Reply via email to