On Tue, 25 Nov 2014, Bernard Spil wrote: > Hi, > > Running LibreSSL portable 2.1.1 from FreeBSD ports on FreeBSD 10.1 > $ /usr/local/bin/openssl version > LibreSSL 2.1 > $ uname -a > FreeBSD meterkast3.example.org 10.1-RELEASE FreeBSD 10.1-RELEASE #0 > r264324M: Tue Nov 11 13:46:58 CET 2014 > r...@meterkast3.example.org:/usr/obj/usr/src/sys/BEASTIE101 amd64 > > To my surprise, the LibreSSL openssl binary does not see the -sslv3 > option as an error. (examples and captures with google.com server) > $ /usr/local/bin/openssl s_client -connect 173.194.65.147:443 -ssl3 > CONNECTED(00000003) > where I would expect the same behaviour as e.g. openssl 0.9.8 when > calling it with the -tls1_2 option. > > Next to that I see that it succefully negotiates a connection using an > ssl3-capable server. > Client Hello and Server Hello both have 0x0300 as can be seen in > attached capture and at end of this mail. > > Is this expected behaviour?
Yes. > I.e. has LibreSSL only removed the sslv3 server capability? SSLv3 has only been disabled by default - if you explicitly ask for it then you still get it. In the case of s_client, the -ssl3 option explicitly switches to the SSLv3 client method, hence it will *only* negotiate SSLv3. > When I setup an SSL server with OpenSSL 1.0.1j from base, I can not > connect to it straight away but I can connect when I use -ssl3 (both in > log below) Are you saying that running 'openssl s_client' fails to connect to 'openssl s_server'? I do not see any example where you are not specifying -ssl3 with s_server - by doing that you can only ever connect to it with SSLv3 (-ssl3 does not enable the negotiation of SSLv3, it makes it SSLv3 *only*). > $ openssl version > OpenSSL 1.0.1j-freebsd 15 Oct 2014 > $ openssl s_server -ssl3 -accept 4443 > Using default temp DH parameters > Using default temp ECDH parameters > ACCEPT > ERROR > shutting down SSL > CONNECTION CLOSED > ACCEPT > -----BEGIN SSL SESSION PARAMETERS----- > <snip> > -----END SSL SESSION PARAMETERS----- > <snip>CIPHER is ECDHE-RSA-AES256-SHA > Secure Renegotiation IS supported > DONE > shutting down SSL > CONNECTION CLOSED > ACCEPT > > $ /usr/local/bin/openssl s_client -connect localhost:4443 > CONNECTED(00000003) > 34378806536:error:14077102:SSL > routines:SSL23_GET_SERVER_HELLO:unsupported protocol:s23_clnt.c:497: > --- > no peer certificate available > --- > No client certificate CA names sent > --- > SSL handshake has read 7 bytes and written 280 bytes > --- > New, (NONE), Cipher is (NONE) > Secure Renegotiation IS NOT supported > Compression: NONE > Expansion: NONE > --- > $ /usr/local/bin/openssl s_client -connect localhost:4443 -ssl3 > <snip> > --- > SSL handshake has read 1524 bytes and written 262 bytes > --- > New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES256-SHA > Server public key is 2048 bit > Secure Renegotiation IS supported > Compression: NONE > Expansion: NONE > SSL-Session: > Protocol : SSLv3 > Cipher : ECDHE-RSA-AES256-SHA > Session-ID: > 468B5F3CE1CF1CDA9F49312EE9424BD985B22FC1A9EA92692C9C6EB818F0C725 > Session-ID-ctx: > Master-Key: > 78D830C15F518C6FC9C5D9760B8B3F09D58F516944E72C9F2A89D3B3E6DD6D78189B1B0A702 >D4FBB8CDDEBF83B19A433 Start Time: 1416914867 > Timeout : 7200 (sec) > Verify return code: 21 (unable to verify the first certificate) > --- > > Thanks! > Bernard (Barnerd) Spil. > > depth=2 C = US, O = GeoTrust Inc., CN = GeoTrust Global CA > verify error:num=20:unable to get local issuer certificate > verify return:0 > --- > Certificate chain > 0 s:/C=US/ST=California/L=Mountain View/O=Google Inc/CN=www.google.com > i:/C=US/O=Google Inc/CN=Google Internet Authority G2 > 1 s:/C=US/O=Google Inc/CN=Google Internet Authority G2 > i:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA > 2 s:/C=US/O=GeoTrust Inc./CN=GeoTrust Global CA > i:/C=US/O=Equifax/OU=Equifax Secure Certificate Authority > --- > Server certificate > -----BEGIN CERTIFICATE----- > <snip> > -----END CERTIFICATE----- > subject=/C=US/ST=California/L=Mountain View/O=Google > Inc/CN=www.google.com > issuer=/C=US/O=Google Inc/CN=Google Internet Authority G2 > --- > No client certificate CA names sent > --- > SSL handshake has read 3578 bytes and written 258 bytes > --- > New, TLSv1/SSLv3, Cipher is ECDHE-RSA-RC4-SHA > Server public key is 2048 bit > Secure Renegotiation IS supported > Compression: NONE > Expansion: NONE > SSL-Session: > Protocol : SSLv3 > Cipher : ECDHE-RSA-RC4-SHA > Session-ID: > D807A5102140A0D0F5DF4562E961C485F7C0D506572FF7852D61207576F3C5A5 > Session-ID-ctx: > Master-Key: > 175DDE1E866E41DC8F9D64779B0BBB5F4AA663F2DBF1EB1C312036CFE9E580997653A73CB6C >7AEB2310B6D5793F13C55 Start Time: 1416913094 > Timeout : 7200 (sec) > Verify return code: 20 (unable to get local issuer certificate) > --- -- "Action without study is fatal. Study without action is futile." -- Mary Ritter Beard