René's URL Explorer Experiment


Title: ssl — TLS/SSL wrapper for socket objects — Python 3.14.2 documentation

Open Graph Title: ssl — TLS/SSL wrapper for socket objects

Description: Source code: Lib/ssl.py This module provides access to Transport Layer Security (often known as “Secure Sockets Layer”) encryption and peer authentication facilities for network sockets, both clien...

Open Graph Description: Source code: Lib/ssl.py This module provides access to Transport Layer Security (often known as “Secure Sockets Layer”) encryption and peer authentication facilities for network sockets, both clien...

Opengraph URL: https://docs.python.org/3/library/ssl.html

direct link

Domain: docs.python.org

og:typewebsite
og:site_namePython documentation
og:image:width1146
og:image:height600
og:imagehttps://docs.python.org/3.14/_images/social_previews/summary_library_ssl_fab19422.png
og:image:altSource code: Lib/ssl.py This module provides access to Transport Layer Security (often known as “Secure Sockets Layer”) encryption and peer authentication facilities for network sockets, both clien...
twitter:cardsummary_large_image
theme-color#3776ab
readthedocs-addons-api-version1

Links:

https://www.python.org/
Table of Contentshttps://docs.python.org/contents.html
ssl — TLS/SSL wrapper for socket objectshttps://docs.python.org/library/ssl.html
Functions, Constants, and Exceptionshttps://docs.python.org/library/ssl.html#functions-constants-and-exceptions
Socket creationhttps://docs.python.org/library/ssl.html#socket-creation
Context creationhttps://docs.python.org/library/ssl.html#context-creation
Exceptionshttps://docs.python.org/library/ssl.html#exceptions
Random generationhttps://docs.python.org/library/ssl.html#random-generation
Certificate handlinghttps://docs.python.org/library/ssl.html#certificate-handling
Constantshttps://docs.python.org/library/ssl.html#constants
SSL Socketshttps://docs.python.org/library/ssl.html#ssl-sockets
SSL Contextshttps://docs.python.org/library/ssl.html#ssl-contexts
Certificateshttps://docs.python.org/library/ssl.html#certificates
Certificate chainshttps://docs.python.org/library/ssl.html#certificate-chains
CA certificateshttps://docs.python.org/library/ssl.html#ca-certificates
Combined key and certificatehttps://docs.python.org/library/ssl.html#combined-key-and-certificate
Self-signed certificateshttps://docs.python.org/library/ssl.html#self-signed-certificates
Exampleshttps://docs.python.org/library/ssl.html#examples
Testing for SSL supporthttps://docs.python.org/library/ssl.html#testing-for-ssl-support
Client-side operationhttps://docs.python.org/library/ssl.html#client-side-operation
Server-side operationhttps://docs.python.org/library/ssl.html#server-side-operation
Notes on non-blocking socketshttps://docs.python.org/library/ssl.html#notes-on-non-blocking-sockets
Memory BIO Supporthttps://docs.python.org/library/ssl.html#memory-bio-support
SSL sessionhttps://docs.python.org/library/ssl.html#ssl-session
Security considerationshttps://docs.python.org/library/ssl.html#security-considerations
Best defaultshttps://docs.python.org/library/ssl.html#best-defaults
Manual settingshttps://docs.python.org/library/ssl.html#manual-settings
Verifying certificateshttps://docs.python.org/library/ssl.html#verifying-certificates
Protocol versionshttps://docs.python.org/library/ssl.html#protocol-versions
Cipher selectionhttps://docs.python.org/library/ssl.html#cipher-selection
Multi-processinghttps://docs.python.org/library/ssl.html#multi-processing
TLS 1.3https://docs.python.org/library/ssl.html#tls-1-3
socket — Low-level networking interfacehttps://docs.python.org/library/socket.html
select — Waiting for I/O completionhttps://docs.python.org/library/select.html
Report a bughttps://docs.python.org/bugs.html
Show source https://github.com/python/cpython/blob/main/Doc/library/ssl.rst?plain=1
indexhttps://docs.python.org/genindex.html
moduleshttps://docs.python.org/py-modindex.html
nexthttps://docs.python.org/library/select.html
previoushttps://docs.python.org/library/socket.html
Pythonhttps://www.python.org/
3.14.2 Documentationhttps://docs.python.org/index.html
The Python Standard Libraryhttps://docs.python.org/library/index.html
Networking and Interprocess Communicationhttps://docs.python.org/library/ipc.html
ssl — TLS/SSL wrapper for socket objectshttps://docs.python.org/library/ssl.html
https://docs.python.org/library/ssl.html#module-ssl
Lib/ssl.pyhttps://github.com/python/cpython/tree/3.14/Lib/ssl.py
optional modulehttps://docs.python.org/glossary.html#term-optional-module
Requirements for optional moduleshttps://docs.python.org/using/configure.html#optional-module-requirements
Security considerationshttps://docs.python.org/library/ssl.html#ssl-security
Availabilityhttps://docs.python.org/library/intro.html#availability
WebAssembly platformshttps://docs.python.org/library/intro.html#wasm-availability
ssl.SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
socket.sockethttps://docs.python.org/library/socket.html#socket.socket
ssl.SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
PEP 644https://peps.python.org/pep-0644/
https://docs.python.org/library/ssl.html#functions-constants-and-exceptions
https://docs.python.org/library/ssl.html#socket-creation
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
https://docs.python.org/library/ssl.html#context-creation
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
https://docs.python.org/library/ssl.html#ssl.create_default_context
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
sslhttps://docs.python.org/library/ssl.html#module-ssl
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLContext.load_verify_locations()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
Nonehttps://docs.python.org/library/constants.html#None
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
OP_NO_SSLv2https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv2
OP_NO_SSLv3https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv3
SERVER_AUTHhttps://docs.python.org/library/ssl.html#ssl.Purpose.SERVER_AUTH
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLContext.load_default_certs()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_default_certs
keylog_filenamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.keylog_filename
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
VERIFY_X509_PARTIAL_CHAINhttps://docs.python.org/library/ssl.html#ssl.VERIFY_X509_PARTIAL_CHAIN
VERIFY_X509_STRICThttps://docs.python.org/library/ssl.html#ssl.VERIFY_X509_STRICT
RFC 5280https://datatracker.ietf.org/doc/html/rfc5280.html
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
OP_NO_SSLv3https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv3
completely brokenhttps://en.wikipedia.org/wiki/POODLE
VERIFY_X509_STRICThttps://docs.python.org/library/ssl.html#ssl.VERIFY_X509_STRICT
RFC 5280https://datatracker.ietf.org/doc/html/rfc5280.html
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
VERIFY_X509_PARTIAL_CHAINhttps://docs.python.org/library/ssl.html#ssl.VERIFY_X509_PARTIAL_CHAIN
VERIFY_X509_STRICThttps://docs.python.org/library/ssl.html#ssl.VERIFY_X509_STRICT
https://docs.python.org/library/ssl.html#exceptions
https://docs.python.org/library/ssl.html#ssl.SSLError
OSErrorhttps://docs.python.org/library/exceptions.html#OSError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
socket.errorhttps://docs.python.org/library/socket.html#socket.error
https://docs.python.org/library/ssl.html#ssl.SSLError.library
https://docs.python.org/library/ssl.html#ssl.SSLError.reason
https://docs.python.org/library/ssl.html#ssl.SSLZeroReturnError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
https://docs.python.org/library/ssl.html#ssl.SSLWantReadError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
non-blocking SSL sockethttps://docs.python.org/library/ssl.html#ssl-nonblocking
https://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
non-blocking SSL sockethttps://docs.python.org/library/ssl.html#ssl-nonblocking
https://docs.python.org/library/ssl.html#ssl.SSLSyscallError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
https://docs.python.org/library/ssl.html#ssl.SSLEOFError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
https://docs.python.org/library/ssl.html#ssl.SSLCertVerificationError
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
https://docs.python.org/library/ssl.html#ssl.SSLCertVerificationError.verify_code
https://docs.python.org/library/ssl.html#ssl.SSLCertVerificationError.verify_message
https://docs.python.org/library/ssl.html#ssl.CertificateError
SSLCertVerificationErrorhttps://docs.python.org/library/ssl.html#ssl.SSLCertVerificationError
SSLCertVerificationErrorhttps://docs.python.org/library/ssl.html#ssl.SSLCertVerificationError
https://docs.python.org/library/ssl.html#random-generation
https://docs.python.org/library/ssl.html#ssl.RAND_bytes
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
RAND_status()https://docs.python.org/library/ssl.html#ssl.RAND_status
RAND_add()https://docs.python.org/library/ssl.html#ssl.RAND_add
os.urandom()https://docs.python.org/library/os.html#os.urandom
Cryptographically secure pseudorandom number generator (CSPRNG)https://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
https://docs.python.org/library/ssl.html#ssl.RAND_status
ssl.RAND_add()https://docs.python.org/library/ssl.html#ssl.RAND_add
https://docs.python.org/library/ssl.html#ssl.RAND_add
RFC 1750https://datatracker.ietf.org/doc/html/rfc1750.html
bytes-like objecthttps://docs.python.org/glossary.html#term-bytes-like-object
https://docs.python.org/library/ssl.html#certificate-handling
https://docs.python.org/library/ssl.html#ssl.cert_time_to_seconds
RFC 5280https://datatracker.ietf.org/doc/html/rfc5280.html
https://docs.python.org/library/ssl.html#ssl.get_server_certificate
SSLContext.load_verify_locations()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
PROTOCOL_SSLv3https://docs.python.org/library/ssl.html#ssl.PROTOCOL_SSLv3
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.DER_cert_to_PEM_cert
https://docs.python.org/library/ssl.html#ssl.PEM_cert_to_DER_cert
https://docs.python.org/library/ssl.html#ssl.get_default_verify_paths
SSLContext.set_default_verify_paths()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_default_verify_paths
named tuplehttps://docs.python.org/glossary.html#term-named-tuple
https://docs.python.org/library/ssl.html#ssl.enum_certificates
Availabilityhttps://docs.python.org/library/intro.html#availability
https://docs.python.org/library/ssl.html#ssl.enum_crls
Availabilityhttps://docs.python.org/library/intro.html#availability
https://docs.python.org/library/ssl.html#constants
enum.IntEnumhttps://docs.python.org/library/enum.html#enum.IntEnum
enum.IntFlaghttps://docs.python.org/library/enum.html#enum.IntFlag
https://docs.python.org/library/ssl.html#ssl.CERT_NONE
SSLContext.verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
Security considerationshttps://docs.python.org/library/ssl.html#ssl-security
https://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
SSLContext.verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_OPTIONALhttps://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLContext.load_verify_locations()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
https://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLContext.verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
SSLContext.load_verify_locations()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
https://docs.python.org/library/ssl.html#ssl.VerifyMode
enum.IntEnumhttps://docs.python.org/library/enum.html#enum.IntEnum
https://docs.python.org/library/ssl.html#ssl.VERIFY_DEFAULT
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VERIFY_CRL_CHECK_LEAF
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
SSLContext.load_verify_locationshttps://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
https://docs.python.org/library/ssl.html#ssl.VERIFY_CRL_CHECK_CHAIN
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VERIFY_X509_STRICT
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VERIFY_ALLOW_PROXY_CERTS
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VERIFY_X509_TRUSTED_FIRST
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VERIFY_X509_PARTIAL_CHAIN
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
https://docs.python.org/library/ssl.html#ssl.VerifyFlags
enum.IntFlaghttps://docs.python.org/library/enum.html#enum.IntFlag
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_SSLv23
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_SSLv3
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
SSLContext.minimum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
SSLContext.maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLSv1
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLSv1_1
https://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLSv1_2
https://docs.python.org/library/ssl.html#ssl.OP_ALL
https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv2
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv3
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.OP_NO_TLSv1
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
SSLContext.minimum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
SSLContext.maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
https://docs.python.org/library/ssl.html#ssl.OP_NO_TLSv1_1
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.OP_NO_TLSv1_2
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.OP_NO_TLSv1_3
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
https://docs.python.org/library/ssl.html#ssl.OP_NO_RENEGOTIATION
https://docs.python.org/library/ssl.html#ssl.OP_CIPHER_SERVER_PREFERENCE
https://docs.python.org/library/ssl.html#ssl.OP_SINGLE_DH_USE
https://docs.python.org/library/ssl.html#ssl.OP_SINGLE_ECDH_USE
https://docs.python.org/library/ssl.html#ssl.OP_ENABLE_MIDDLEBOX_COMPAT
https://docs.python.org/library/ssl.html#ssl.OP_NO_COMPRESSION
https://docs.python.org/library/ssl.html#ssl.Options
enum.IntFlaghttps://docs.python.org/library/enum.html#enum.IntFlag
https://docs.python.org/library/ssl.html#ssl.OP_NO_TICKET
https://docs.python.org/library/ssl.html#ssl.OP_IGNORE_UNEXPECTED_EOF
https://docs.python.org/library/ssl.html#ssl.OP_ENABLE_KTLS
https://docs.python.org/library/ssl.html#ssl.OP_LEGACY_SERVER_CONNECT
https://docs.python.org/library/ssl.html#ssl.HAS_ALPN
RFC 7301https://datatracker.ietf.org/doc/html/rfc7301.html
https://docs.python.org/library/ssl.html#ssl.HAS_NEVER_CHECK_COMMON_NAME
SSLContext.hostname_checks_common_namehttps://docs.python.org/library/ssl.html#ssl.SSLContext.hostname_checks_common_name
https://docs.python.org/library/ssl.html#ssl.HAS_ECDH
https://docs.python.org/library/ssl.html#ssl.HAS_SNI
RFC 6066https://datatracker.ietf.org/doc/html/rfc6066.html
https://docs.python.org/library/ssl.html#ssl.HAS_NPN
Application Layer Protocol Negotiationhttps://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation
SSLContext.set_npn_protocols()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_npn_protocols
https://docs.python.org/library/ssl.html#ssl.HAS_SSLv2
https://docs.python.org/library/ssl.html#ssl.HAS_SSLv3
https://docs.python.org/library/ssl.html#ssl.HAS_TLSv1
https://docs.python.org/library/ssl.html#ssl.HAS_TLSv1_1
https://docs.python.org/library/ssl.html#ssl.HAS_TLSv1_2
https://docs.python.org/library/ssl.html#ssl.HAS_TLSv1_3
https://docs.python.org/library/ssl.html#ssl.HAS_PSK
https://docs.python.org/library/ssl.html#ssl.HAS_PHA
https://docs.python.org/library/ssl.html#ssl.CHANNEL_BINDING_TYPES
SSLSocket.get_channel_binding()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_channel_binding
https://docs.python.org/library/ssl.html#ssl.OPENSSL_VERSION
https://docs.python.org/library/ssl.html#ssl.OPENSSL_VERSION_INFO
https://docs.python.org/library/ssl.html#ssl.OPENSSL_VERSION_NUMBER
https://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE
https://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_INTERNAL_ERROR
RFC 5246https://datatracker.ietf.org/doc/html/rfc5246.html
IANA TLS Alert Registryhttps://www.iana.org/assignments/tls-parameters/tls-parameters.xml#tls-parameters-6
SSLContext.set_servername_callback()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_servername_callback
https://docs.python.org/library/ssl.html#ssl.AlertDescription
enum.IntEnumhttps://docs.python.org/library/enum.html#enum.IntEnum
https://docs.python.org/library/ssl.html#ssl.Purpose.SERVER_AUTH
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
SSLContext.load_default_certs()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_default_certs
https://docs.python.org/library/ssl.html#ssl.Purpose.CLIENT_AUTH
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
SSLContext.load_default_certs()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_default_certs
https://docs.python.org/library/ssl.html#ssl.SSLErrorNumber
enum.IntEnumhttps://docs.python.org/library/enum.html#enum.IntEnum
https://docs.python.org/library/ssl.html#ssl.TLSVersion
enum.IntEnumhttps://docs.python.org/library/enum.html#enum.IntEnum
SSLContext.maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
SSLContext.minimum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
https://docs.python.org/library/ssl.html#ssl.TLSVersion.MINIMUM_SUPPORTED
https://docs.python.org/library/ssl.html#ssl.TLSVersion.MAXIMUM_SUPPORTED
https://docs.python.org/library/ssl.html#ssl.TLSVersion.SSLv3
https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1
https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_1
https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_2
https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_3
TLSVersionhttps://docs.python.org/library/ssl.html#ssl.TLSVersion
TLSVersion.TLSv1_2https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_2
TLSVersion.TLSv1_3https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_3
https://docs.python.org/library/ssl.html#ssl-sockets
https://docs.python.org/library/ssl.html#ssl.SSLSocket
Socket Objectshttps://docs.python.org/library/socket.html#socket-objects
accept()https://docs.python.org/library/socket.html#socket.socket.accept
bind()https://docs.python.org/library/socket.html#socket.socket.bind
close()https://docs.python.org/library/socket.html#socket.socket.close
connect()https://docs.python.org/library/socket.html#socket.socket.connect
detach()https://docs.python.org/library/socket.html#socket.socket.detach
fileno()https://docs.python.org/library/socket.html#socket.socket.fileno
getpeername()https://docs.python.org/library/socket.html#socket.socket.getpeername
getsockname()https://docs.python.org/library/socket.html#socket.socket.getsockname
getsockopt()https://docs.python.org/library/socket.html#socket.socket.getsockopt
setsockopt()https://docs.python.org/library/socket.html#socket.socket.setsockopt
gettimeout()https://docs.python.org/library/socket.html#socket.socket.gettimeout
settimeout()https://docs.python.org/library/socket.html#socket.socket.settimeout
setblocking()https://docs.python.org/library/socket.html#socket.socket.setblocking
listen()https://docs.python.org/library/socket.html#socket.socket.listen
makefile()https://docs.python.org/library/socket.html#socket.socket.makefile
recv()https://docs.python.org/library/socket.html#socket.socket.recv
recv_into()https://docs.python.org/library/socket.html#socket.socket.recv_into
send()https://docs.python.org/library/socket.html#socket.socket.send
sendall()https://docs.python.org/library/socket.html#socket.socket.sendall
sendfile()https://docs.python.org/library/socket.html#socket.socket.sendfile
os.sendfilehttps://docs.python.org/library/os.html#os.sendfile
send()https://docs.python.org/library/socket.html#socket.socket.send
shutdown()https://docs.python.org/library/socket.html#socket.socket.shutdown
notes on non-blocking socketshttps://docs.python.org/library/ssl.html#ssl-nonblocking
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
non-blockinghttps://docs.python.org/library/ssl.html#ssl-nonblocking
read()https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
read()https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
https://docs.python.org/library/ssl.html#ssl.SSLSocket.write
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
non-blockinghttps://docs.python.org/library/ssl.html#ssl-nonblocking
write()https://docs.python.org/library/ssl.html#ssl.SSLSocket.write
write()https://docs.python.org/library/ssl.html#ssl.SSLSocket.write
read()https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
write()https://docs.python.org/library/ssl.html#ssl.SSLSocket.write
SSLSocket.unwrap()https://docs.python.org/library/ssl.html#ssl.SSLSocket.unwrap
recv()https://docs.python.org/library/socket.html#socket.socket.recv
send()https://docs.python.org/library/socket.html#socket.socket.send
https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
gettimeout()https://docs.python.org/library/socket.html#socket.socket.gettimeout
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
contexthttps://docs.python.org/library/ssl.html#ssl.SSLSocket.context
https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
ValueErrorhttps://docs.python.org/library/exceptions.html#ValueError
Falsehttps://docs.python.org/library/constants.html#False
dicthttps://docs.python.org/library/stdtypes.html#dict
RFC 3280https://datatracker.ietf.org/doc/html/rfc3280.html
Truehttps://docs.python.org/library/constants.html#True
Nonehttps://docs.python.org/library/constants.html#None
getpeercert()https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
Nonehttps://docs.python.org/library/constants.html#None
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
CERT_OPTIONALhttps://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLContext.check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
ValueErrorhttps://docs.python.org/library/exceptions.html#ValueError
https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_verified_chain
get_unverified_chain()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_unverified_chain
https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_unverified_chain
https://docs.python.org/library/ssl.html#ssl.SSLSocket.cipher
https://docs.python.org/library/ssl.html#ssl.SSLSocket.shared_ciphers
shared_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLSocket.shared_ciphers
https://docs.python.org/library/ssl.html#ssl.SSLSocket.compression
OP_NO_COMPRESSIONhttps://docs.python.org/library/ssl.html#ssl.OP_NO_COMPRESSION
https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_channel_binding
CHANNEL_BINDING_TYPEShttps://docs.python.org/library/ssl.html#ssl.CHANNEL_BINDING_TYPES
RFC 5929https://datatracker.ietf.org/doc/html/rfc5929.html
ValueErrorhttps://docs.python.org/library/exceptions.html#ValueError
https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_alpn_protocol
SSLContext.set_alpn_protocols()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_alpn_protocols
https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_npn_protocol
SSLContext.set_npn_protocols()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_npn_protocols
https://docs.python.org/library/ssl.html#ssl.SSLSocket.unwrap
https://docs.python.org/library/ssl.html#ssl.SSLSocket.verify_client_post_handshake
SSLContext.post_handshake_authhttps://docs.python.org/library/ssl.html#ssl.SSLContext.post_handshake_auth
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
https://docs.python.org/library/ssl.html#ssl.SSLSocket.version
https://docs.python.org/library/ssl.html#ssl.SSLSocket.pending
https://docs.python.org/library/ssl.html#ssl.SSLSocket.context
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
https://docs.python.org/library/ssl.html#ssl.SSLSocket.server_side
https://docs.python.org/library/ssl.html#ssl.SSLSocket.server_hostname
strhttps://docs.python.org/library/stdtypes.html#str
https://docs.python.org/library/ssl.html#ssl.SSLSocket.session
SSLSessionhttps://docs.python.org/library/ssl.html#ssl.SSLSession
do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
https://docs.python.org/library/ssl.html#ssl.SSLSocket.session_reused
https://docs.python.org/library/ssl.html#ssl-contexts
https://docs.python.org/library/ssl.html#ssl.SSLContext
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
[3]https://docs.python.org/library/ssl.html#id9
[1]https://docs.python.org/library/ssl.html#id7
[2]https://docs.python.org/library/ssl.html#id8
[3]https://docs.python.org/library/ssl.html#id9
[1]https://docs.python.org/library/ssl.html#id7
[2]https://docs.python.org/library/ssl.html#id8
1https://docs.python.org/library/ssl.html#id2
2https://docs.python.org/library/ssl.html#id5
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
OP_NO_SSLv2https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv2
1https://docs.python.org/library/ssl.html#id3
2https://docs.python.org/library/ssl.html#id6
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
OP_NO_SSLv3https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv3
1https://docs.python.org/library/ssl.html#id1
2https://docs.python.org/library/ssl.html#id4
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
sslhttps://docs.python.org/library/ssl.html#module-ssl
OP_NO_COMPRESSIONhttps://docs.python.org/library/ssl.html#ssl.OP_NO_COMPRESSION
OP_CIPHER_SERVER_PREFERENCEhttps://docs.python.org/library/ssl.html#ssl.OP_CIPHER_SERVER_PREFERENCE
OP_SINGLE_DH_USEhttps://docs.python.org/library/ssl.html#ssl.OP_SINGLE_DH_USE
OP_SINGLE_ECDH_USEhttps://docs.python.org/library/ssl.html#ssl.OP_SINGLE_ECDH_USE
OP_NO_SSLv2https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv2
OP_NO_SSLv3https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv3
PROTOCOL_SSLv3https://docs.python.org/library/ssl.html#ssl.PROTOCOL_SSLv3
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
https://docs.python.org/library/ssl.html#ssl.SSLContext.cert_store_stats
https://docs.python.org/library/ssl.html#ssl.SSLContext.load_cert_chain
Certificateshttps://docs.python.org/library/ssl.html#ssl-certificates
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
https://docs.python.org/library/ssl.html#ssl.SSLContext.load_default_certs
SSLContext.set_default_verify_paths()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_default_verify_paths
Purpose.SERVER_AUTHhttps://docs.python.org/library/ssl.html#ssl.Purpose.SERVER_AUTH
Purpose.CLIENT_AUTHhttps://docs.python.org/library/ssl.html#ssl.Purpose.CLIENT_AUTH
https://docs.python.org/library/ssl.html#ssl.SSLContext.load_verify_locations
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
Certificateshttps://docs.python.org/library/ssl.html#ssl-certificates
OpenSSL specific layouthttps://docs.openssl.org/master/man3/SSL_CTX_load_verify_locations/
bytes-like objecthttps://docs.python.org/glossary.html#term-bytes-like-object
https://docs.python.org/library/ssl.html#ssl.SSLContext.get_ca_certs
Falsehttps://docs.python.org/library/constants.html#False
SSLSocket.getpeercert()https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
https://docs.python.org/library/ssl.html#ssl.SSLContext.get_ciphers
SSLContext.set_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ciphers
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_default_verify_paths
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ciphers
OpenSSL cipher list formathttps://docs.openssl.org/master/man1/ciphers/
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
SSLSocket.cipher()https://docs.python.org/library/ssl.html#ssl.SSLSocket.cipher
set_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ciphers
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_alpn_protocols
RFC 7301https://datatracker.ietf.org/doc/html/rfc7301.html
SSLSocket.selected_alpn_protocol()https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_alpn_protocol
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
HAS_ALPNhttps://docs.python.org/library/ssl.html#ssl.HAS_ALPN
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_npn_protocols
Application Layer Protocol Negotiationhttps://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation
SSLSocket.selected_npn_protocol()https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_npn_protocol
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
HAS_NPNhttps://docs.python.org/library/ssl.html#ssl.HAS_NPN
https://docs.python.org/library/ssl.html#ssl.SSLContext.sni_callback
RFC 6066https://datatracker.ietf.org/doc/html/rfc6066.html
ssl.SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
Nonehttps://docs.python.org/library/constants.html#None
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
ssl.SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLSocket.contexthttps://docs.python.org/library/ssl.html#ssl.SSLSocket.context
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLSocket.selected_alpn_protocol()https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_alpn_protocol
SSLSocket.contexthttps://docs.python.org/library/ssl.html#ssl.SSLSocket.context
SSLSocket.getpeercert()https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
SSLSocket.get_verified_chain()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_verified_chain
SSLSocket.get_unverified_chain()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_unverified_chain
SSLSocket.cipher()https://docs.python.org/library/ssl.html#ssl.SSLSocket.cipher
SSLSocket.compression()https://docs.python.org/library/ssl.html#ssl.SSLSocket.compression
ALERT_DESCRIPTION_*https://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_INTERNAL_ERROR
ALERT_DESCRIPTION_INTERNAL_ERRORhttps://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_INTERNAL_ERROR
ALERT_DESCRIPTION_HANDSHAKE_FAILUREhttps://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_HANDSHAKE_FAILURE
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_servername_callback
sni_callbackhttps://docs.python.org/library/ssl.html#ssl.SSLContext.sni_callback
ALERT_DESCRIPTION_INTERNAL_ERRORhttps://docs.python.org/library/ssl.html#ssl.ALERT_DESCRIPTION_INTERNAL_ERROR
https://docs.python.org/library/ssl.html#ssl.SSLContext.load_dh_params
OP_SINGLE_DH_USEhttps://docs.python.org/library/ssl.html#ssl.OP_SINGLE_DH_USE
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ecdh_curve
OP_SINGLE_ECDH_USEhttps://docs.python.org/library/ssl.html#ssl.OP_SINGLE_ECDH_USE
HAS_ECDHhttps://docs.python.org/library/ssl.html#ssl.HAS_ECDH
SSL/TLS & Perfect Forward Secrecyhttps://vincent.bernat.ch/en/blog/2011-ssl-perfect-forward-secrecy
https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
SSLContext.sslsocket_classhttps://docs.python.org/library/ssl.html#ssl.SSLContext.sslsocket_class
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SOCK_STREAMhttps://docs.python.org/library/socket.html#socket.SOCK_STREAM
SSLErrorhttps://docs.python.org/library/ssl.html#ssl.SSLError
ValueErrorhttps://docs.python.org/library/exceptions.html#ValueError
SSLSocket.do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
SSLSocket.do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
Truehttps://docs.python.org/library/constants.html#True
Falsehttps://docs.python.org/library/constants.html#False
sessionhttps://docs.python.org/library/ssl.html#ssl.SSLSocket.session
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLContext.wrap_bio()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_bio
SSLContext.sslsocket_classhttps://docs.python.org/library/ssl.html#ssl.SSLContext.sslsocket_class
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
https://docs.python.org/library/ssl.html#ssl.SSLContext.sslsocket_class
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_bio
SSLContext.sslobject_classhttps://docs.python.org/library/ssl.html#ssl.SSLContext.sslobject_class
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
SSLContext.sslobject_classhttps://docs.python.org/library/ssl.html#ssl.SSLContext.sslobject_class
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
https://docs.python.org/library/ssl.html#ssl.SSLContext.sslobject_class
SSLContext.wrap_bio()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_bio
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
https://docs.python.org/library/ssl.html#ssl.SSLContext.session_stats
piece of informationhttps://docs.openssl.org/1.1.1/man3/SSL_CTX_sess_number/
https://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
SSLSocket.do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_OPTIONALhttps://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
ValueErrorhttps://docs.python.org/library/exceptions.html#ValueError
https://docs.python.org/library/ssl.html#ssl.SSLContext.keylog_filename
https://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
TLSVersionhttps://docs.python.org/library/ssl.html#ssl.TLSVersion
TLSVersion.MAXIMUM_SUPPORTEDhttps://docs.python.org/library/ssl.html#ssl.TLSVersion.MAXIMUM_SUPPORTED
PROTOCOL_TLShttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
minimum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
SSLContext.optionshttps://docs.python.org/library/ssl.html#ssl.SSLContext.options
OP_NO_TLSv1_2https://docs.python.org/library/ssl.html#ssl.OP_NO_TLSv1_2
optionshttps://docs.python.org/library/ssl.html#ssl.SSLContext.options
maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
TLSVersion.TLSv1_2https://docs.python.org/library/ssl.html#ssl.TLSVersion.TLSv1_2
https://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
SSLContext.maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
TLSVersion.MINIMUM_SUPPORTEDhttps://docs.python.org/library/ssl.html#ssl.TLSVersion.MINIMUM_SUPPORTED
https://docs.python.org/library/ssl.html#ssl.SSLContext.num_tickets
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
https://docs.python.org/library/ssl.html#ssl.SSLContext.options
OP_ALLhttps://docs.python.org/library/ssl.html#ssl.OP_ALL
OP_NO_SSLv2https://docs.python.org/library/ssl.html#ssl.OP_NO_SSLv2
SSLContext.optionshttps://docs.python.org/library/ssl.html#ssl.SSLContext.options
Optionshttps://docs.python.org/library/ssl.html#ssl.Options
SSLContext.minimum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.minimum_version
SSLContext.maximum_versionhttps://docs.python.org/library/ssl.html#ssl.SSLContext.maximum_version
https://docs.python.org/library/ssl.html#ssl.SSLContext.post_handshake_auth
SSLContext.verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_OPTIONALhttps://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLSocket.verify_client_post_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.verify_client_post_handshake
https://docs.python.org/library/ssl.html#ssl.SSLContext.protocol
https://docs.python.org/library/ssl.html#ssl.SSLContext.hostname_checks_common_name
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
https://docs.python.org/library/ssl.html#ssl.SSLContext.security_level
security levelhttps://docs.openssl.org/master/man3/SSL_CTX_get_security_level/
https://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
VERIFY_CRL_CHECK_LEAFhttps://docs.python.org/library/ssl.html#ssl.VERIFY_CRL_CHECK_LEAF
SSLContext.verify_flagshttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_flags
VerifyFlagshttps://docs.python.org/library/ssl.html#ssl.VerifyFlags
https://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
CERT_OPTIONALhttps://docs.python.org/library/ssl.html#ssl.CERT_OPTIONAL
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLContext.verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
VerifyModehttps://docs.python.org/library/ssl.html#ssl.VerifyMode
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_psk_client_callback
bytes-like objecthttps://docs.python.org/glossary.html#term-bytes-like-object
Nonehttps://docs.python.org/library/constants.html#None
Nonehttps://docs.python.org/library/constants.html#None
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
HAS_PSKhttps://docs.python.org/library/ssl.html#ssl.HAS_PSK
https://docs.python.org/library/ssl.html#ssl.SSLContext.set_psk_server_callback
bytes-like objecthttps://docs.python.org/glossary.html#term-bytes-like-object
Nonehttps://docs.python.org/library/constants.html#None
NotImplementedErrorhttps://docs.python.org/library/exceptions.html#NotImplementedError
HAS_PSKhttps://docs.python.org/library/ssl.html#ssl.HAS_PSK
https://docs.python.org/library/ssl.html#certificates
RFC 1422https://datatracker.ietf.org/doc/html/rfc1422.html
https://docs.python.org/library/ssl.html#certificate-chains
https://docs.python.org/library/ssl.html#ca-certificates
SSLContext.load_default_certs()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_default_certs
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
https://docs.python.org/library/ssl.html#combined-key-and-certificate
SSLContext.load_cert_chain()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_cert_chain
https://docs.python.org/library/ssl.html#self-signed-certificates
https://docs.python.org/library/ssl.html#examples
https://docs.python.org/library/ssl.html#testing-for-ssl-support
https://docs.python.org/library/ssl.html#client-side-operation
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
verify_modehttps://docs.python.org/library/ssl.html#ssl.SSLContext.verify_mode
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
Security considerationshttps://docs.python.org/library/ssl.html#ssl-security
https://docs.python.org/library/ssl.html#server-side-operation
SSLContext.wrap_socket()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_socket
non-blocking modehttps://docs.python.org/library/ssl.html#ssl-nonblocking
https://docs.python.org/library/ssl.html#notes-on-non-blocking-sockets
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
BlockingIOErrorhttps://docs.python.org/library/exceptions.html#BlockingIOError
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
select()https://docs.python.org/library/select.html#select.select
select()https://docs.python.org/library/select.html#select.select
select()https://docs.python.org/library/select.html#select.select
select()https://docs.python.org/library/select.html#select.select
poll()https://docs.python.org/library/select.html#select.poll
selectorshttps://docs.python.org/library/selectors.html#module-selectors
SSLSocket.do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
select()https://docs.python.org/library/select.html#select.select
asynciohttps://docs.python.org/library/asyncio.html#module-asyncio
non-blocking SSL socketshttps://docs.python.org/library/ssl.html#ssl-nonblocking
Streams APIhttps://docs.python.org/library/asyncio-stream.html#asyncio-streams
selectorshttps://docs.python.org/library/selectors.html#module-selectors
SSLWantWriteErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantWriteError
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
BlockingIOErrorhttps://docs.python.org/library/exceptions.html#BlockingIOError
https://docs.python.org/library/ssl.html#memory-bio-support
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
socket.sockethttps://docs.python.org/library/socket.html#socket.socket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
socket.sockethttps://docs.python.org/library/socket.html#socket.socket
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
https://docs.python.org/library/ssl.html#ssl.SSLObject
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
wrap_bio()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_bio
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
contexthttps://docs.python.org/library/ssl.html#ssl.SSLSocket.context
server_sidehttps://docs.python.org/library/ssl.html#ssl.SSLSocket.server_side
server_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLSocket.server_hostname
sessionhttps://docs.python.org/library/ssl.html#ssl.SSLSocket.session
session_reusedhttps://docs.python.org/library/ssl.html#ssl.SSLSocket.session_reused
read()https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
write()https://docs.python.org/library/ssl.html#ssl.SSLSocket.write
getpeercert()https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
get_verified_chain()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_verified_chain
get_unverified_chain()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_unverified_chain
selected_alpn_protocol()https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_alpn_protocol
selected_npn_protocol()https://docs.python.org/library/ssl.html#ssl.SSLSocket.selected_npn_protocol
cipher()https://docs.python.org/library/ssl.html#ssl.SSLSocket.cipher
shared_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLSocket.shared_ciphers
compression()https://docs.python.org/library/ssl.html#ssl.SSLSocket.compression
pending()https://docs.python.org/library/ssl.html#ssl.SSLSocket.pending
do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
verify_client_post_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.verify_client_post_handshake
unwrap()https://docs.python.org/library/ssl.html#ssl.SSLSocket.unwrap
get_channel_binding()https://docs.python.org/library/ssl.html#ssl.SSLSocket.get_channel_binding
version()https://docs.python.org/library/ssl.html#ssl.SSLSocket.version
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
MemoryBIOhttps://docs.python.org/library/ssl.html#ssl.MemoryBIO
do_handshake()https://docs.python.org/library/ssl.html#ssl.SSLSocket.do_handshake
SSLEOFErrorhttps://docs.python.org/library/ssl.html#ssl.SSLEOFError
unwrap()https://docs.python.org/library/ssl.html#ssl.SSLSocket.unwrap
SSLContext.set_servername_callback()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_servername_callback
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
SSLSockethttps://docs.python.org/library/ssl.html#ssl.SSLSocket
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
non-blockinghttps://docs.python.org/library/ssl.html#ssl-nonblocking
read()https://docs.python.org/library/ssl.html#ssl.SSLSocket.read
SSLWantReadErrorhttps://docs.python.org/library/ssl.html#ssl.SSLWantReadError
SSLObjecthttps://docs.python.org/library/ssl.html#ssl.SSLObject
wrap_bio()https://docs.python.org/library/ssl.html#ssl.SSLContext.wrap_bio
MemoryBIOhttps://docs.python.org/library/ssl.html#ssl.MemoryBIO
https://docs.python.org/library/ssl.html#ssl.MemoryBIO
https://docs.python.org/library/ssl.html#ssl.MemoryBIO.pending
https://docs.python.org/library/ssl.html#ssl.MemoryBIO.eof
https://docs.python.org/library/ssl.html#ssl.MemoryBIO.read
https://docs.python.org/library/ssl.html#ssl.MemoryBIO.write
https://docs.python.org/library/ssl.html#ssl.MemoryBIO.write_eof
write()https://docs.python.org/library/ssl.html#ssl.MemoryBIO.write
eofhttps://docs.python.org/library/ssl.html#ssl.MemoryBIO.eof
https://docs.python.org/library/ssl.html#ssl-session
https://docs.python.org/library/ssl.html#ssl.SSLSession
sessionhttps://docs.python.org/library/ssl.html#ssl.SSLSocket.session
https://docs.python.org/library/ssl.html#ssl.SSLSession.id
https://docs.python.org/library/ssl.html#ssl.SSLSession.time
https://docs.python.org/library/ssl.html#ssl.SSLSession.timeout
https://docs.python.org/library/ssl.html#ssl.SSLSession.ticket_lifetime_hint
https://docs.python.org/library/ssl.html#ssl.SSLSession.has_ticket
https://docs.python.org/library/ssl.html#security-considerations
https://docs.python.org/library/ssl.html#best-defaults
create_default_context()https://docs.python.org/library/ssl.html#ssl.create_default_context
smtplib.SMTPhttps://docs.python.org/library/smtplib.html#smtplib.SMTP
SSLContext.load_cert_chain()https://docs.python.org/library/ssl.html#ssl.SSLContext.load_cert_chain
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
https://docs.python.org/library/ssl.html#manual-settings
https://docs.python.org/library/ssl.html#verifying-certificates
SSLContexthttps://docs.python.org/library/ssl.html#ssl.SSLContext
CERT_NONEhttps://docs.python.org/library/ssl.html#ssl.CERT_NONE
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
SSLSocket.getpeercert()https://docs.python.org/library/ssl.html#ssl.SSLSocket.getpeercert
SSLContext.check_hostnamehttps://docs.python.org/library/ssl.html#ssl.SSLContext.check_hostname
CERT_REQUIREDhttps://docs.python.org/library/ssl.html#ssl.CERT_REQUIRED
https://docs.python.org/library/ssl.html#protocol-versions
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
PROTOCOL_TLS_SERVERhttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_SERVER
PROTOCOL_TLS_CLIENThttps://docs.python.org/library/ssl.html#ssl.PROTOCOL_TLS_CLIENT
https://docs.python.org/library/ssl.html#cipher-selection
SSLContext.set_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ciphers
cipher list formathttps://docs.openssl.org/1.1.1/man1/ciphers/#cipher-list-format
SSLContext.get_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.get_ciphers
https://docs.python.org/library/ssl.html#multi-processing
multiprocessinghttps://docs.python.org/library/multiprocessing.html#module-multiprocessing
concurrent.futureshttps://docs.python.org/library/concurrent.futures.html#module-concurrent.futures
os.fork()https://docs.python.org/library/os.html#os.fork
RAND_add()https://docs.python.org/library/ssl.html#ssl.RAND_add
RAND_bytes()https://docs.python.org/library/ssl.html#ssl.RAND_bytes
https://docs.python.org/library/ssl.html#tls-1-3
SSLContext.set_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.set_ciphers
SSLContext.get_ciphers()https://docs.python.org/library/ssl.html#ssl.SSLContext.get_ciphers
SSLSocket.sessionhttps://docs.python.org/library/ssl.html#ssl.SSLSocket.session
SSLSessionhttps://docs.python.org/library/ssl.html#ssl.SSLSession
socket.sockethttps://docs.python.org/library/socket.html#socket.socket
sockethttps://docs.python.org/library/socket.html#module-socket
SSL/TLS Strong Encryption: An Introductionhttps://httpd.apache.org/docs/trunk/en/ssl/ssl_intro.html
RFC 1422: Privacy Enhancement for Internet Electronic Mail: Part II: Certificate-Based Key Managementhttps://datatracker.ietf.org/doc/html/rfc1422.html
RFC 4086: Randomness Requirements for Securityhttps://datatracker.ietf.org/doc/html/rfc4086.html
RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profilehttps://datatracker.ietf.org/doc/html/rfc5280.html
RFC 5246: The Transport Layer Security (TLS) Protocol Version 1.2https://datatracker.ietf.org/doc/html/rfc5246.html
RFC 6066: Transport Layer Security (TLS) Extensionshttps://datatracker.ietf.org/doc/html/rfc6066.html
IANA TLS: Transport Layer Security (TLS) Parametershttps://www.iana.org/assignments/tls-parameters/tls-parameters.xml
RFC 7525: Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)https://datatracker.ietf.org/doc/html/rfc7525.html
Mozilla’s Server Side TLS recommendationshttps://wiki.mozilla.org/Security/Server_Side_TLS
Table of Contentshttps://docs.python.org/contents.html
ssl — TLS/SSL wrapper for socket objectshttps://docs.python.org/library/ssl.html
Functions, Constants, and Exceptionshttps://docs.python.org/library/ssl.html#functions-constants-and-exceptions
Socket creationhttps://docs.python.org/library/ssl.html#socket-creation
Context creationhttps://docs.python.org/library/ssl.html#context-creation
Exceptionshttps://docs.python.org/library/ssl.html#exceptions
Random generationhttps://docs.python.org/library/ssl.html#random-generation
Certificate handlinghttps://docs.python.org/library/ssl.html#certificate-handling
Constantshttps://docs.python.org/library/ssl.html#constants
SSL Socketshttps://docs.python.org/library/ssl.html#ssl-sockets
SSL Contextshttps://docs.python.org/library/ssl.html#ssl-contexts
Certificateshttps://docs.python.org/library/ssl.html#certificates
Certificate chainshttps://docs.python.org/library/ssl.html#certificate-chains
CA certificateshttps://docs.python.org/library/ssl.html#ca-certificates
Combined key and certificatehttps://docs.python.org/library/ssl.html#combined-key-and-certificate
Self-signed certificateshttps://docs.python.org/library/ssl.html#self-signed-certificates
Exampleshttps://docs.python.org/library/ssl.html#examples
Testing for SSL supporthttps://docs.python.org/library/ssl.html#testing-for-ssl-support
Client-side operationhttps://docs.python.org/library/ssl.html#client-side-operation
Server-side operationhttps://docs.python.org/library/ssl.html#server-side-operation
Notes on non-blocking socketshttps://docs.python.org/library/ssl.html#notes-on-non-blocking-sockets
Memory BIO Supporthttps://docs.python.org/library/ssl.html#memory-bio-support
SSL sessionhttps://docs.python.org/library/ssl.html#ssl-session
Security considerationshttps://docs.python.org/library/ssl.html#security-considerations
Best defaultshttps://docs.python.org/library/ssl.html#best-defaults
Manual settingshttps://docs.python.org/library/ssl.html#manual-settings
Verifying certificateshttps://docs.python.org/library/ssl.html#verifying-certificates
Protocol versionshttps://docs.python.org/library/ssl.html#protocol-versions
Cipher selectionhttps://docs.python.org/library/ssl.html#cipher-selection
Multi-processinghttps://docs.python.org/library/ssl.html#multi-processing
TLS 1.3https://docs.python.org/library/ssl.html#tls-1-3
socket — Low-level networking interfacehttps://docs.python.org/library/socket.html
select — Waiting for I/O completionhttps://docs.python.org/library/select.html
Report a bughttps://docs.python.org/bugs.html
Show source https://github.com/python/cpython/blob/main/Doc/library/ssl.rst?plain=1
indexhttps://docs.python.org/genindex.html
moduleshttps://docs.python.org/py-modindex.html
nexthttps://docs.python.org/library/select.html
previoushttps://docs.python.org/library/socket.html
Pythonhttps://www.python.org/
3.14.2 Documentationhttps://docs.python.org/index.html
The Python Standard Libraryhttps://docs.python.org/library/index.html
Networking and Interprocess Communicationhttps://docs.python.org/library/ipc.html
ssl — TLS/SSL wrapper for socket objectshttps://docs.python.org/library/ssl.html
Copyrighthttps://docs.python.org/copyright.html
History and Licensehttps://docs.python.org/license.html
Please donate.https://www.python.org/psf/donations/
Found a bughttps://docs.python.org/bugs.html
Sphinxhttps://www.sphinx-doc.org/

Viewport: width=device-width, initial-scale=1.0


URLs of crawlers that visited me.