mirror of
https://github.com/licsber/micropython.git
synced 2024-09-20 09:00:23 +08:00
f3f215e9bd
This commit adds: 1) Methods to SSLContext class that match CPython signature: - `SSLContext.load_cert_chain(certfile, keyfile)` - `SSLContext.load_verify_locations(cafile=, cadata=)` - `SSLContext.get_ciphers()` --> ["CIPHERSUITE"] - `SSLContext.set_ciphers(["CIPHERSUITE"])` 2) `sslsocket.cipher()` to get current ciphersuite and protocol version. 3) `ssl.MBEDTLS_VERSION` string constant. 4) Certificate verification errors info instead of `MBEDTLS_ERR_X509_CERT_VERIFY_FAILED`. 5) Tests in `net_inet` and `multi_net` to test these new methods. `SSLContext.load_cert_chain` method allows loading key and cert from disk passing a filepath in `certfile` or `keyfile` options. `SSLContext.load_verify_locations`'s `cafile` option enables the same functionality for ca files. Signed-off-by: Carlos Gil <carlosgilglez@gmail.com>
30 lines
457 B
Python
30 lines
457 B
Python
# Basic test of ssl.SSLContext get_ciphers() and set_ciphers() methods.
|
|
|
|
try:
|
|
import ssl
|
|
except ImportError:
|
|
print("SKIP")
|
|
raise SystemExit
|
|
|
|
|
|
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
|
|
|
|
ciphers = ctx.get_ciphers()
|
|
|
|
for ci in ciphers:
|
|
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)
|