Hello, > >For me this seems that server do not want to accept this > >proposition because: > > - do not have RSA support (maybe) > > - do not have SHA support (maybe) > > - do not have DES support (maybe) or DES40 is too > weak. > > > >Best regards, > >-- > >Marek Marcola <[EMAIL PROTECTED]> > > Well ... as per my understanding, the cipher support is > property of the crypto library. And my client and server both > use the same crypto library. So I wonder why would the server > reject the clients request. Yes, but you have control what ciphers should be used.
But after some testing I think that incompatible SSL3/TLS1 method may cause problem (as suggested by girish1729). For example, running server with command: $ openssl s_server -key key.pem -cert cert.pem -tls1 and then running client: $ openssl s_client -cipher 'EXP-DES-CBC-SHA' -ssl3 -debug CONNECTED(00000003) write to 0989A390 [098A4F58] (50 bytes => 50 (0x32)) 0000 - 16 03 00 00 2d 01 00 00-29 03 00 44 b2 8b bd f6 ....-...)..D.... 0010 - 7a 77 a4 34 94 e2 6a e4-56 8a 45 a4 f2 c0 d4 25 zw.4..j.V.E....% 0020 - 1e 09 b4 0f 34 11 60 e0-64 9d 4a 00 00 02 00 08 ....4.`.d.J..... 0030 - 01 . 0032 - <SPACES/NULS> read from 0989A390 [098A0748] (5 bytes => 5 (0x5)) 0000 - 15 03 00 00 02 ..... read from 0989A390 [098A074D] (2 bytes => 2 (0x2)) 0000 - 02 28 .( 8067:error:14094410:SSL routines:SSL3_READ_BYTES:sslv3 alert handshake failure:s3_pkt.c:1052:SSL alert number 40 8067:error:1409E0E5:SSL routines:SSL3_WRITE_BYTES:ssl handshake failure:s3_pkt.c:529: we have this kind of error like in your post. And on server side we see: 8064:error:1408A10B:SSL routines:SSL3_GET_CLIENT_HELLO:wrong version number:s3_srvr.c:685: > Are there any APIs that I can use in my server to get more > debug information? Is it possible for me to enable/disable > logging in the crypto library? My suggestion is to display errors after bad SSL_accept() in server code, for example: char buf[256]; u_long err; while ((err = ERR_get_error()) != 0) { ERR_error_string_n(err, buf, sizeof(buf)); fprintf(stderr, "%s", buf); } other methods may be callback function at state or msg layer. > Also, as we are on the topic, where could I get the > information about the messages exchanged between server and > client? The way you explained the data was really helpful. RFC is ok but very boring :-) My suggestion it to look at book "SSL and TLS Essentials" by Stephen Thomas (WILEY) - very good book. Best regards, -- Marek Marcola <[EMAIL PROTECTED]> ______________________________________________________________________ OpenSSL Project http://www.openssl.org User Support Mailing List openssl-users@openssl.org Automated List Manager [EMAIL PROTECTED]