@@ -12,7 +12,7 @@ from ssl import (
1212 SSLWantWriteError as SSLWantWriteError ,
1313 SSLZeroReturnError as SSLZeroReturnError ,
1414)
15- from typing import Any , ClassVar , Literal , TypedDict , final , overload , type_check_only
15+ from typing import Any , ClassVar , Final , Literal , TypedDict , final , overload , type_check_only
1616from typing_extensions import NotRequired , Self , TypeAlias
1717
1818_PasswordType : TypeAlias = Callable [[], str | bytes | bytearray ] | str | bytes | bytearray
@@ -161,135 +161,134 @@ if sys.version_info < (3, 12):
161161 err_names_to_codes : dict [str , tuple [int , int ]]
162162 lib_codes_to_names : dict [int , str ]
163163
164- _DEFAULT_CIPHERS : str
164+ _DEFAULT_CIPHERS : Final [ str ]
165165
166166# SSL error numbers
167- SSL_ERROR_ZERO_RETURN : int
168- SSL_ERROR_WANT_READ : int
169- SSL_ERROR_WANT_WRITE : int
170- SSL_ERROR_WANT_X509_LOOKUP : int
171- SSL_ERROR_SYSCALL : int
172- SSL_ERROR_SSL : int
173- SSL_ERROR_WANT_CONNECT : int
174- SSL_ERROR_EOF : int
175- SSL_ERROR_INVALID_ERROR_CODE : int
167+ SSL_ERROR_ZERO_RETURN : Final = 6
168+ SSL_ERROR_WANT_READ : Final = 2
169+ SSL_ERROR_WANT_WRITE : Final = 3
170+ SSL_ERROR_WANT_X509_LOOKUP : Final = 4
171+ SSL_ERROR_SYSCALL : Final = 5
172+ SSL_ERROR_SSL : Final = 1
173+ SSL_ERROR_WANT_CONNECT : Final = 7
174+ SSL_ERROR_EOF : Final = 8
175+ SSL_ERROR_INVALID_ERROR_CODE : Final = 10
176176
177177# verify modes
178- CERT_NONE : int
179- CERT_OPTIONAL : int
180- CERT_REQUIRED : int
178+ CERT_NONE : Final = 0
179+ CERT_OPTIONAL : Final = 1
180+ CERT_REQUIRED : Final = 2
181181
182182# verify flags
183- VERIFY_DEFAULT : int
184- VERIFY_CRL_CHECK_LEAF : int
185- VERIFY_CRL_CHECK_CHAIN : int
186- VERIFY_X509_STRICT : int
187- VERIFY_X509_TRUSTED_FIRST : int
183+ VERIFY_DEFAULT : Final = 0
184+ VERIFY_CRL_CHECK_LEAF : Final = 0x4
185+ VERIFY_CRL_CHECK_CHAIN : Final = 0x8
186+ VERIFY_X509_STRICT : Final = 0x20
187+ VERIFY_X509_TRUSTED_FIRST : Final = 0x8000
188188if sys .version_info >= (3 , 10 ):
189- VERIFY_ALLOW_PROXY_CERTS : int
190- VERIFY_X509_PARTIAL_CHAIN : int
189+ VERIFY_ALLOW_PROXY_CERTS : Final = 0x40
190+ VERIFY_X509_PARTIAL_CHAIN : Final = 0x80000
191191
192192# alert descriptions
193- ALERT_DESCRIPTION_CLOSE_NOTIFY : int
194- ALERT_DESCRIPTION_UNEXPECTED_MESSAGE : int
195- ALERT_DESCRIPTION_BAD_RECORD_MAC : int
196- ALERT_DESCRIPTION_RECORD_OVERFLOW : int
197- ALERT_DESCRIPTION_DECOMPRESSION_FAILURE : int
198- ALERT_DESCRIPTION_HANDSHAKE_FAILURE : int
199- ALERT_DESCRIPTION_BAD_CERTIFICATE : int
200- ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE : int
201- ALERT_DESCRIPTION_CERTIFICATE_REVOKED : int
202- ALERT_DESCRIPTION_CERTIFICATE_EXPIRED : int
203- ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN : int
204- ALERT_DESCRIPTION_ILLEGAL_PARAMETER : int
205- ALERT_DESCRIPTION_UNKNOWN_CA : int
206- ALERT_DESCRIPTION_ACCESS_DENIED : int
207- ALERT_DESCRIPTION_DECODE_ERROR : int
208- ALERT_DESCRIPTION_DECRYPT_ERROR : int
209- ALERT_DESCRIPTION_PROTOCOL_VERSION : int
210- ALERT_DESCRIPTION_INSUFFICIENT_SECURITY : int
211- ALERT_DESCRIPTION_INTERNAL_ERROR : int
212- ALERT_DESCRIPTION_USER_CANCELLED : int
213- ALERT_DESCRIPTION_NO_RENEGOTIATION : int
214- ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION : int
215- ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE : int
216- ALERT_DESCRIPTION_UNRECOGNIZED_NAME : int
217- ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE : int
218- ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE : int
219- ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY : int
193+ ALERT_DESCRIPTION_CLOSE_NOTIFY : Final = 0
194+ ALERT_DESCRIPTION_UNEXPECTED_MESSAGE : Final = 10
195+ ALERT_DESCRIPTION_BAD_RECORD_MAC : Final = 20
196+ ALERT_DESCRIPTION_RECORD_OVERFLOW : Final = 22
197+ ALERT_DESCRIPTION_DECOMPRESSION_FAILURE : Final = 30
198+ ALERT_DESCRIPTION_HANDSHAKE_FAILURE : Final = 40
199+ ALERT_DESCRIPTION_BAD_CERTIFICATE : Final = 42
200+ ALERT_DESCRIPTION_UNSUPPORTED_CERTIFICATE : Final = 43
201+ ALERT_DESCRIPTION_CERTIFICATE_REVOKED : Final = 44
202+ ALERT_DESCRIPTION_CERTIFICATE_EXPIRED : Final = 45
203+ ALERT_DESCRIPTION_CERTIFICATE_UNKNOWN : Final = 46
204+ ALERT_DESCRIPTION_ILLEGAL_PARAMETER : Final = 47
205+ ALERT_DESCRIPTION_UNKNOWN_CA : Final = 48
206+ ALERT_DESCRIPTION_ACCESS_DENIED : Final = 49
207+ ALERT_DESCRIPTION_DECODE_ERROR : Final = 50
208+ ALERT_DESCRIPTION_DECRYPT_ERROR : Final = 51
209+ ALERT_DESCRIPTION_PROTOCOL_VERSION : Final = 70
210+ ALERT_DESCRIPTION_INSUFFICIENT_SECURITY : Final = 71
211+ ALERT_DESCRIPTION_INTERNAL_ERROR : Final = 80
212+ ALERT_DESCRIPTION_USER_CANCELLED : Final = 90
213+ ALERT_DESCRIPTION_NO_RENEGOTIATION : Final = 100
214+ ALERT_DESCRIPTION_UNSUPPORTED_EXTENSION : Final = 110
215+ ALERT_DESCRIPTION_CERTIFICATE_UNOBTAINABLE : Final = 111
216+ ALERT_DESCRIPTION_UNRECOGNIZED_NAME : Final = 112
217+ ALERT_DESCRIPTION_BAD_CERTIFICATE_STATUS_RESPONSE : Final = 113
218+ ALERT_DESCRIPTION_BAD_CERTIFICATE_HASH_VALUE : Final = 114
219+ ALERT_DESCRIPTION_UNKNOWN_PSK_IDENTITY : Final = 115
220220
221221# protocol versions
222- PROTOCOL_SSLv23 : int
223- PROTOCOL_TLS : int
224- PROTOCOL_TLS_CLIENT : int
225- PROTOCOL_TLS_SERVER : int
226- PROTOCOL_TLSv1 : int
227- PROTOCOL_TLSv1_1 : int
228- PROTOCOL_TLSv1_2 : int
222+ PROTOCOL_SSLv23 : Final = 2
223+ PROTOCOL_TLS : Final = 2
224+ PROTOCOL_TLS_CLIENT : Final = 16
225+ PROTOCOL_TLS_SERVER : Final = 17
226+ PROTOCOL_TLSv1 : Final = 3
227+ PROTOCOL_TLSv1_1 : Final = 4
228+ PROTOCOL_TLSv1_2 : Final = 5
229229
230230# protocol options
231- OP_ALL : int
232- OP_NO_SSLv2 : int
233- OP_NO_SSLv3 : int
234- OP_NO_TLSv1 : int
235- OP_NO_TLSv1_1 : int
236- OP_NO_TLSv1_2 : int
237- OP_NO_TLSv1_3 : int
238- OP_CIPHER_SERVER_PREFERENCE : int
239- OP_SINGLE_DH_USE : int
240- OP_NO_TICKET : int
241- OP_SINGLE_ECDH_USE : int
242- OP_NO_COMPRESSION : int
243- OP_ENABLE_MIDDLEBOX_COMPAT : int
244- OP_NO_RENEGOTIATION : int
231+ OP_ALL : Final = 0x80000050
232+ OP_NO_SSLv2 : Final = 0x0
233+ OP_NO_SSLv3 : Final = 0x2000000
234+ OP_NO_TLSv1 : Final = 0x4000000
235+ OP_NO_TLSv1_1 : Final = 0x10000000
236+ OP_NO_TLSv1_2 : Final = 0x8000000
237+ OP_NO_TLSv1_3 : Final = 0x20000000
238+ OP_CIPHER_SERVER_PREFERENCE : Final = 0x400000
239+ OP_SINGLE_DH_USE : Final = 0x0
240+ OP_NO_TICKET : Final = 0x4000
241+ OP_SINGLE_ECDH_USE : Final = 0x0
242+ OP_NO_COMPRESSION : Final = 0x20000
243+ OP_ENABLE_MIDDLEBOX_COMPAT : Final = 0x100000
244+ OP_NO_RENEGOTIATION : Final = 0x40000000
245245if sys .version_info >= (3 , 11 ) or sys .platform == "linux" :
246- OP_IGNORE_UNEXPECTED_EOF : int
246+ OP_IGNORE_UNEXPECTED_EOF : Final = 0x80
247247if sys .version_info >= (3 , 12 ):
248- OP_LEGACY_SERVER_CONNECT : int
249- OP_ENABLE_KTLS : int
248+ OP_LEGACY_SERVER_CONNECT : Final = 0x4
249+ OP_ENABLE_KTLS : Final = 0x8
250250
251251# host flags
252- HOSTFLAG_ALWAYS_CHECK_SUBJECT : int
253- HOSTFLAG_NEVER_CHECK_SUBJECT : int
254- HOSTFLAG_NO_WILDCARDS : int
255- HOSTFLAG_NO_PARTIAL_WILDCARDS : int
256- HOSTFLAG_MULTI_LABEL_WILDCARDS : int
257- HOSTFLAG_SINGLE_LABEL_SUBDOMAINS : int
252+ HOSTFLAG_ALWAYS_CHECK_SUBJECT : Final = 0x1
253+ HOSTFLAG_NEVER_CHECK_SUBJECT : Final = 0x20
254+ HOSTFLAG_NO_WILDCARDS : Final = 0x2
255+ HOSTFLAG_NO_PARTIAL_WILDCARDS : Final = 0x4
256+ HOSTFLAG_MULTI_LABEL_WILDCARDS : Final = 0x8
257+ HOSTFLAG_SINGLE_LABEL_SUBDOMAINS : Final = 0x10
258258
259259if sys .version_info >= (3 , 10 ):
260260 # certificate file types
261- # Typed as Literal so the overload on Certificate.public_bytes can work properly.
262- ENCODING_PEM : Literal [1 ]
263- ENCODING_DER : Literal [2 ]
261+ ENCODING_PEM : Final = 1
262+ ENCODING_DER : Final = 2
264263
265264# protocol versions
266- PROTO_MINIMUM_SUPPORTED : int
267- PROTO_MAXIMUM_SUPPORTED : int
268- PROTO_SSLv3 : int
269- PROTO_TLSv1 : int
270- PROTO_TLSv1_1 : int
271- PROTO_TLSv1_2 : int
272- PROTO_TLSv1_3 : int
265+ PROTO_MINIMUM_SUPPORTED : Final = - 2
266+ PROTO_MAXIMUM_SUPPORTED : Final = - 1
267+ PROTO_SSLv3 : Final [ int ]
268+ PROTO_TLSv1 : Final [ int ]
269+ PROTO_TLSv1_1 : Final [ int ]
270+ PROTO_TLSv1_2 : Final [ int ]
271+ PROTO_TLSv1_3 : Final [ int ]
273272
274273# feature support
275- HAS_SNI : bool
276- HAS_TLS_UNIQUE : bool
277- HAS_ECDH : bool
278- HAS_NPN : bool
274+ HAS_SNI : Final [ bool ]
275+ HAS_TLS_UNIQUE : Final [ bool ]
276+ HAS_ECDH : Final [ bool ]
277+ HAS_NPN : Final [ bool ]
279278if sys .version_info >= (3 , 13 ):
280- HAS_PSK : bool
281- HAS_ALPN : bool
282- HAS_SSLv2 : bool
283- HAS_SSLv3 : bool
284- HAS_TLSv1 : bool
285- HAS_TLSv1_1 : bool
286- HAS_TLSv1_2 : bool
287- HAS_TLSv1_3 : bool
279+ HAS_PSK : Final [ bool ]
280+ HAS_ALPN : Final [ bool ]
281+ HAS_SSLv2 : Final [ bool ]
282+ HAS_SSLv3 : Final [ bool ]
283+ HAS_TLSv1 : Final [ bool ]
284+ HAS_TLSv1_1 : Final [ bool ]
285+ HAS_TLSv1_2 : Final [ bool ]
286+ HAS_TLSv1_3 : Final [ bool ]
288287if sys .version_info >= (3 , 14 ):
289- HAS_PHA : bool
288+ HAS_PHA : Final [ bool ]
290289
291290# version info
292- OPENSSL_VERSION_NUMBER : int
293- OPENSSL_VERSION_INFO : tuple [int , int , int , int , int ]
294- OPENSSL_VERSION : str
295- _OPENSSL_API_VERSION : tuple [int , int , int , int , int ]
291+ OPENSSL_VERSION_NUMBER : Final [ int ]
292+ OPENSSL_VERSION_INFO : Final [ tuple [int , int , int , int , int ] ]
293+ OPENSSL_VERSION : Final [ str ]
294+ _OPENSSL_API_VERSION : Final [ tuple [int , int , int , int , int ] ]
0 commit comments