mirror of
https://github.com/W3SLAV/micropython.git
synced 2025-06-20 12:35:34 -04:00

The current `ssl` module has quite a few differences to the CPython implementation. This change moves the MicroPython variant to a new `tls` module and provides a wrapper module for `ssl` (in micropython-lib). Users who only rely on implemented comparible behavior can continue to use `ssl`, while users that rely on non-compatible behavior should switch to `tls`. Then we can make the facade in `ssl` more strictly adhere to CPython. Signed-off-by: Felix Dörre <felix@dogcraft.de>
32 lines
607 B
Python
32 lines
607 B
Python
# Basic test of tls.SSLContext get_ciphers() and set_ciphers() methods.
|
|
|
|
try:
|
|
import tls
|
|
except ImportError:
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
|
|
ctx = tls.SSLContext(tls.PROTOCOL_TLS_CLIENT)
|
|
|
|
ciphers = ctx.get_ciphers()
|
|
|
|
for ci in ciphers:
|
|
# Only print those ciphers know to exist on all ports.
|
|
if ("TLS-ECDHE-ECDSA-WITH-AES" in ci or "TLS-RSA-WITH-AES" in ci) and "CBC" in ci:
|
|
print(ci)
|
|
|
|
ctx.set_ciphers(ciphers[:1])
|
|
|
|
# Test error cases.
|
|
|
|
try:
|
|
ctx.set_ciphers(ciphers[0])
|
|
except TypeError as e:
|
|
print(e)
|
|
|
|
try:
|
|
ctx.set_ciphers(["BAR"])
|
|
except OSError as e:
|
|
print(e)
|