objectif
Établir des connexions TLS sûres avec create_default_context (sans réseau ici).
code minimal
import ssl
ctx = ssl.create_default_context(purpose=ssl.Purpose.SERVER_AUTH)
ctx.check_hostname = True
ctx.verify_mode = ssl.CERT_REQUIRED
print(isinstance(ctx, ssl.SSLContext)) # attendu: True
utilisation
import ssl, socket
# Exemple sans se connecter réellement
ctx = ssl.create_default_context()
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print(isinstance(ctx.wrap_socket(s, server_hostname="data.pm"), ssl.SSLSocket))
variante(s) utile(s)
import ssl
ctx = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
ctx.load_default_certs()
print(ctx.verify_mode == ssl.CERT_REQUIRED)
notes
- Toujours vérifier le hostname et la chaîne de certificats.
- Préférez create_default_context pour une config sûre par défaut.