butterfly icon indicating copy to clipboard operation
butterfly copied to clipboard

ssl session fail

Open iu0v1 opened this issue 10 years ago • 12 comments

Hello. When I try to open session - get 'reset connection' and this error:

$ butterfly.server.py --login  --host=10.1.8.122 --port=9999
[W 141120 14:34:01 iostream:1184] SSL Error on 4 ('10.1.8.122', 58746): [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
[E 141120 14:34:01 http1connection:683] Uncaught exception
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 674, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 109, in result
        raise_exc_info(self._exc_info)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 631, in run
        yielded = self.gen.throw(*sys.exc_info())
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 165, in _read_message
        io_loop=self.stream.io_loop)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 111, in result
        raise self._exception
    SSLError: [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
^CTraceback (most recent call last):
  File "/usr/local/bin/butterfly.server.py", line 258, in <module>
    ioloop.start()
  File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 812, in start
    event_pairs = self._impl.poll(poll_timeout)
KeyboardInterrupt
$ openssl version -a
OpenSSL 1.0.1f 6 Jan 2014
built on: Wed Oct 15 17:43:26 UTC 2014
platform: debian-amd64
options:  bn(64,64) rc4(16x,int) des(idx,cisc,16,int) blowfish(idx) 
compiler: cc -fPIC -DOPENSSL_PIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -m64 -DL_ENDIAN -DTERMIO -g -O2 -fstack-protector --param=ssp-buffer-size=4 -Wformat -Werror=format-security -D_FORTIFY_SOURCE=2 -Wl,-Bsymbolic-functions -Wl,-z,relro -Wa,--noexecstack -Wall -DMD32_REG_T=int -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM -DAES_ASM -DVPAES_ASM -DBSAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM

iu0v1 avatar Nov 20 '14 12:11 iu0v1

That's very strange. What's your python version (with minor) ? Can you try adding --ssl_version=TLSv1_2 or any other protocol version listed here: https://docs.python.org/2/library/ssl.html#ssl.PROTOCOL_SSLv23 ?

paradoxxxzero avatar Nov 20 '14 13:11 paradoxxxzero

$ python --version
Python 2.7.6

And some other versions:

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=SSLv2
Unknown SSL protocol SSLv2

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=SSLv1
Unknown SSL protocol SSLv1

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=SSLv3
[W 141120 15:18:36 iostream:1184] SSL Error on 4 ('10.1.8.122', 59126): [Errno 1] _ssl.c:510: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
[E 141120 15:18:36 http1connection:683] Uncaught exception
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 674, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 109, in result
        raise_exc_info(self._exc_info)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 631, in run
        yielded = self.gen.throw(*sys.exc_info())
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 165, in _read_message
        io_loop=self.stream.io_loop)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 111, in result
        raise self._exception
    SSLError: [Errno 1] _ssl.c:510: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
^CTraceback (most recent call last):
  File "/usr/local/bin/butterfly.server.py", line 258, in <module>
    ioloop.start()
  File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 812, in start
    event_pairs = self._impl.poll(poll_timeout)
KeyboardInterrupt

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=TLSv1
[W 141120 15:19:15 iostream:1184] SSL Error on 4 ('10.1.8.122', 59127): [Errno 1] _ssl.c:510: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
[E 141120 15:19:15 http1connection:683] Uncaught exception
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 674, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 109, in result
        raise_exc_info(self._exc_info)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 631, in run
        yielded = self.gen.throw(*sys.exc_info())
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 165, in _read_message
        io_loop=self.stream.io_loop)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 111, in result
        raise self._exception
    SSLError: [Errno 1] _ssl.c:510: error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number
^CTraceback (most recent call last):
  File "/usr/local/bin/butterfly.server.py", line 258, in <module>
    ioloop.start()
  File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 812, in start
    event_pairs = self._impl.poll(poll_timeout)
KeyboardInterrupt

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=TLSv1_1
Unknown SSL protocol TLSv1_1

┌[lord] [workmachine]:~ 
└>butterfly.server.py --login --host=10.1.8.122 --port=9999 --ssl_version=TLSv1_2
Unknown SSL protocol TLSv1_2

iu0v1 avatar Nov 20 '14 13:11 iu0v1

Hum can you try with 1.5.9 ? (Without --ssl_version argument)

paradoxxxzero avatar Nov 20 '14 13:11 paradoxxxzero

Same errors.

$ butterfly.server.py --login --host=10.1.8.122 --port=9999 --debug --more
[I 141120 15:49:27 butterfly.server:68] Starting server
[D 141120 15:49:27 butterfly.server:249] wsreload not found
[I 141120 15:49:27 butterfly.server:258] Starting loop
[W 141120 15:49:35 iostream:1184] SSL Error on 7 ('10.1.8.122', 59859): [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
[E 141120 15:49:35 http1connection:683] Uncaught exception
    Traceback (most recent call last):
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 674, in _server_request_loop
        ret = yield conn.read_response(request_delegate)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 109, in result
        raise_exc_info(self._exc_info)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 631, in run
        yielded = self.gen.throw(*sys.exc_info())
      File "/usr/local/lib/python2.7/dist-packages/tornado/http1connection.py", line 165, in _read_message
        io_loop=self.stream.io_loop)
      File "/usr/local/lib/python2.7/dist-packages/tornado/gen.py", line 628, in run
        value = future.result()
      File "/usr/local/lib/python2.7/dist-packages/tornado/concurrent.py", line 111, in result
        raise self._exception
    SSLError: [Errno 1] _ssl.c:510: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request
^CTraceback (most recent call last):
  File "/usr/local/bin/butterfly.server.py", line 261, in <module>
    ioloop.start()
  File "/usr/local/lib/python2.7/dist-packages/tornado/ioloop.py", line 812, in start
    event_pairs = self._impl.poll(poll_timeout)
KeyboardInterrupt

iu0v1 avatar Nov 20 '14 13:11 iu0v1

There seem to be something wrong with your python/ssl setup. Can you try to recreate the certificates ?

paradoxxxzero avatar Nov 21 '14 13:11 paradoxxxzero

Done. Steps:

┌[lord] [workmachine]:~ 
└>butterfly.server.py --generate_certs --host=10.1.8.122
Generating certificates for 10.1.8.122 (change it with --host)

Root certificate found, using it
Reading /home/lord/.butterfly/ssl/butterfly_ca.crt
Reading /home/lord/.butterfly/ssl/butterfly_ca.key
Writing /home/lord/.butterfly/ssl/butterfly_10.1.8.122.crt
Writing /home/lord/.butterfly/ssl/butterfly_10.1.8.122.key

Now you can run --generate-user-pkcs=user to generate user certificate.

┌[lord] [workmachine]:~ 
└>butterfly.server.py --generate-user-pkcs=lord --host=10.1.8.122
Reading /home/lord/.butterfly/ssl/butterfly_ca.crt
Reading /home/lord/.butterfly/ssl/butterfly_ca.key

PKCS12 Password (can be blank): 
Verify Password (can be blank): 

Writing /home/lord/.butterfly/ssl/lord.p12

And same error on start.

iu0v1 avatar Nov 24 '14 13:11 iu0v1

What is your browser ?

paradoxxxzero avatar Nov 24 '14 13:11 paradoxxxzero

FF 33.0 and google-chrome 39.0.2171.65 (64-bit)

iu0v1 avatar Nov 24 '14 13:11 iu0v1

I'm gonna ask something stupid, did you put https in front of your ip ?

paradoxxxzero avatar Nov 24 '14 14:11 paradoxxxzero

Yes :) And without https too, for debug (same errors).

iu0v1 avatar Nov 24 '14 15:11 iu0v1

I have same error too...

km9173 avatar Apr 11 '15 10:04 km9173

I don't understand, the error is clearly http request for an https server. One way or another your browser is sending an http request instead of an https...

paradoxxxzero avatar Apr 30 '15 17:04 paradoxxxzero