Hi All (esp SSL protocol experts).  Please help me to understand
something!

In short 
--------
What triggers the key exchange during an SSL transaction?

Background 
----------
When I hit the s_server app with some clients/web browsers,  I get this
normal happy output (courtesy of the -state s_server option):

(line numbers added for clarity)

 1: SSL_accept:before/accept initialization
 2: SSL_accept:SSLv3 read client hello A
 3: SSL_accept:SSLv3 write server hello A
 4: SSL_accept:SSLv3 write certificate A
 5: SSL_accept:SSLv3 write server done A
 6: SSL_accept:SSLv3 flush data
 7: SSL_accept:SSLv3 read client key exchange A
 8: SSL_accept:SSLv3 read finished A
 9: SSL_accept:SSLv3 write change cipher spec A
10: SSL_accept:SSLv3 write finished A
11: SSL_accept:SSLv3 flush data

...yet with other clients I get these additional entries:

 4: SSL_accept:SSLv3 write certificate A
->  Generating temp (512 bit) RSA key...
->  SSL_accept:SSLv3 write key exchange A
 5: SSL_accept:SSLv3 write server done A

...or sometimes just this extra key exchange message:

 4: SSL_accept:SSLv3 write certificate A
->  SSL_accept:SSLv3 write key exchange A
 5: SSL_accept:SSLv3 write server done A

Why do I care?  Well, this/these extra protocol step(s) cause(s) an extra
512 bit RSA public key operation to occur, which equates to a 50% slowdown
on a 1024 bit key-based transaction.

Hopefully, this is a matter of a mismatched cert on the client.  Can some
helpful SSL protocol expert please help shed light on this?

Thanks a ton in advance,
--matt


__________________________________________________
Do You Yahoo!?
>From homework help to love advice, Yahoo! Experts has your answer.
http://experts.yahoo.com/
______________________________________________________________________
OpenSSL Project                                 http://www.openssl.org
User Support Mailing List                    [EMAIL PROTECTED]
Automated List Manager                           [EMAIL PROTECTED]

Reply via email to