urllib3.exceptions.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)

I am receiving a bad handshake error when attempting to access a specific site. From my very limited understanding, I am assuming that this error arises during hello message phase, however, I am having difficulties understanding the error and how to proceed with resolving this error.  

Using Chrome the selected cipher suite is:
Cipher Suite: TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (0xc030)

I have tried doing pip install -U requests[security] but the error persists. 


## Actual Result

Traceback (most recent call last):
  File "E:\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 600, in urlopen
    chunked=chunked)
  File "E:\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 345, in _make_request
    self._validate_conn(conn)
  File "E:\Miniconda3\lib\site-packages\urllib3\connectionpool.py", line 844, in _validate_conn
    conn.connect()
  File "E:\Miniconda3\lib\site-packages\urllib3\connection.py", line 326, in connect
    ssl_context=context)
  File "E:\Miniconda3\lib\site-packages\urllib3\util\ssl_.py", line 325, in ssl_wrap_socket
    return context.wrap_socket(sock, server_hostname=server_hostname)
  File "E:\Miniconda3\lib\site-packages\urllib3\contrib\pyopenssl.py", line 445, in wrap_socket
    raise ssl.SSLError('bad handshake: %r' % e)
ssl.SSLError: ("bad handshake: SysCallError(-1, 'Unexpected EOF')",)

## System Information

    $ python -m requests.help

```
{
  "chardet": {
    "version": "3.0.4"
  },
  "cryptography": {
    "version": "1.9"
  },
  "implementation": {
    "name": "CPython",
    "version": "3.6.0"
  },
  "platform": {
    "release": "10",
    "system": "Windows"
  },
  "pyOpenSSL": {
    "openssl_version": "1010006f",
    "version": "17.0.0"
  },
  "requests": {
    "version": "2.17.3"
  },
  "system_ssl": {
    "version": "100020af"
  },
  "urllib3": {
    "version": "1.21.1"
  },
  "using_pyopenssl": true
}
```

 


Huh, this is quite a surprise: it looks like your environment is fine. Can you try installing literally *just* Requests in an environment (no PyOpenSSL) and see if that can reach the host?

Thank you kindly for the reply. 

Without PyOpenSSL I receive the following error:
ssl.SSLEOFError: EOF occurred in violation of protocol (_ssl.c:749)

The website I am attempting to access is:
https://www.superiorjobs.com/Default.aspx


Are you sure Chrome negotiates that cipher suite? [SSLLabs says the server doesn't support it](https://www.ssllabs.com/ssltest/analyze.html?d=www.superiorjobs.com)

Chrome for me loads it fine.

Does give an "Obsolete" warning in the Dev tools though.

![screen shot 2017-06-13 at 8 19 36 am](https://user-images.githubusercontent.com/6897645/27057810-1c00bce6-5011-11e7-9c46-37e63e69f9c6.png)
![screen shot 2017-06-13 at 8 18 58 am](https://user-images.githubusercontent.com/6897645/27057809-1bffa518-5011-11e7-9c9e-3ff332fe9deb.png)


Server hello says that it is using version TLS 1.2. 

What would be my next step to trying to resolve this error if there happens to be one?

The server hello is accurate: the server nominally supports TLSv1.2, it just doesn't support any of the cipher suites. 

We removed 3DES support. You can re-add it for this host [as shown in this blog post](https://lukasa.co.uk/2017/02/Configuring_TLS_With_Requests/)