Files
python-kasa/tests/transports/test_sslcontext.py
Teemu R. 2a81f74e9c
Some checks are pending
CI / Perform Lint Checks (3.14) (push) Waiting to run
CI / Python 3.11 on macos-latest (push) Blocked by required conditions
CI / Python 3.12 on macos-latest (push) Blocked by required conditions
CI / Python 3.13 on macos-latest (push) Blocked by required conditions
CI / Python 3.14 on macos-latest (push) Blocked by required conditions
CI / Python 3.11 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.12 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.13 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.14 on ubuntu-latest (push) Blocked by required conditions
CI / Python 3.11 on windows-latest (push) Blocked by required conditions
CI / Python 3.12 on windows-latest (push) Blocked by required conditions
CI / Python 3.13 on windows-latest (push) Blocked by required conditions
CI / Python 3.14 on windows-latest (push) Blocked by required conditions
CodeQL Checks / Analyze (python) (push) Waiting to run
Consolidate SSL ciphers and use them in SslTransport (#1798)
- Add `kasa/transports/sslcontext.py` with one shared SSL context for
the https transports to avoid copies across transports.
- Use it in `SslTransport`, and convert KLAP and Linkie also to use it.
- Extend Python's default ciphers with the legacy suites instead of
replacing accepted ciphers for future compatibility.
2026-10-14 23:16:56 +02:00

12 lines
482 B
Python

import ssl
from kasa.transports.sslcontext import get_ssl_context
async def test_ssl_context_extends_python_defaults_with_legacy_suites() -> None:
"""Some ciphers are added on top of Python's defaults for compatibility."""
default = {c["name"] for c in ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT).get_ciphers()}
enabled = {c["name"] for c in (await get_ssl_context()).get_ciphers()}
assert default <= enabled
assert {"AES128-GCM-SHA256", "AES256-SHA"} <= enabled