# httpx.ConnectError: [SSL: SSL_HANDSHAKE_FAILURE] ssl handshake failure (_ssl.c:1123) while connecting to 'https://incompatible.example.com'

- **ID:** `python/httpx-connecterror-ssl-handshake-failure`
- **Domain:** python
- **Category:** network_error
- **Verification:** ai_generated
- **Fix Rate:** 80%

## Root Cause

The client and server cannot agree on SSL/TLS parameters, often due to outdated protocols or cipher mismatches.

## Version Compatibility

| Version | Status | Introduced | Deprecated |
|---------|--------|------------|------------|
| 3.x | active | — | — |

## Workarounds

1. **Update the server to support modern TLS versions (1.2 or 1.3)** (90% success)
   ```
   Contact server administrator to enable TLS 1.2 or higher.
   ```
2. **Configure the client to use a specific TLS version if supported** (80% success)
   ```
   import ssl
context = ssl.create_default_context()
context.minimum_version = ssl.TLSVersion.TLSv1_2
client = httpx.Client(verify=context)
response = client.get('https://incompatible.example.com')
   ```

## Dead Ends

- **Disabling SSL verification** — Handshake failure occurs before certificate verification. (80% fail)
- **Using a very old SSL version** — Old versions are often disabled for security reasons. (70% fail)
