On Thu, Jan 30, 2003 at 10:41:08AM -0000, Nigel Spowage wrote:

> my client app calls SSL_renegotiate() and gets a return value of 1
> (success i presume, as i cann't find a man page for this
> function). this sets up internal flags in ssl ready to negotiate the
> connection.
> 
> i call SSL_do_handshake() and get a return value of 1 (success),
> however, no network traffic is sent, tcpdump/ethereal shows no
> traffic sent at this point.

To guess what is going on, I'd have to know

- whether your application is operating as a client or a server
  (an SSL/TLS client apparently) and

- what protocol version is used.

SSL 2.0 does not have renegotiations.  For an SSL 3.0/TLS 1.0 client,
the above sequence of calls looks OK, and SSL_do_handshake() should
send data after you called SSL_renegotiate.

To find out if renegotiation has taken place, you can use
SSL_renegotiate_pending().  This function does not do anything
except returning a boolean value: it becomes true when you call
SSL_renegotiate() and remains true until a new handshake has
completed.

A possible explanation for why nothing happens when you call
SSL_do_handshake() would be that a previous SSL_write() operation has
not yet have completed.  But if, according to SSL_get_error(),
SSL_write() has completed, then for SSL 3.0 and TLS 1.0
SSL_renegotiate() followed by SSL_do_handshake() should send a
ClientHello message.


-- 
Bodo Möller <[EMAIL PROTECTED]>
PGP http://www.informatik.tu-darmstadt.de/TI/Mitarbeiter/moeller/0x36d2c658.html
* TU Darmstadt, Theoretische Informatik, Alexanderstr. 10, D-64283 Darmstadt
* Tel. +49-6151-16-6628, Fax +49-6151-16-6036
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to