@@ -12,7 +12,7 @@ from ssl import (
12
12
SSLWantWriteError as SSLWantWriteError ,
13
13
SSLZeroReturnError as SSLZeroReturnError ,
14
14
)
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
16
16
from typing_extensions import NotRequired , Self , TypeAlias
17
17
18
18
_PasswordType : TypeAlias = Callable [[], str | bytes | bytearray ] | str | bytes | bytearray
@@ -161,135 +161,134 @@ if sys.version_info < (3, 12):
161
161
err_names_to_codes : dict [str , tuple [int , int ]]
162
162
lib_codes_to_names : dict [int , str ]
163
163
164
- _DEFAULT_CIPHERS : str
164
+ _DEFAULT_CIPHERS : Final [ str ]
165
165
166
166
# 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
176
176
177
177
# 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
181
181
182
182
# 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
188
188
if 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
191
191
192
192
# 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
220
220
221
221
# 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
229
229
230
230
# 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
245
245
if sys .version_info >= (3 , 11 ) or sys .platform == "linux" :
246
- OP_IGNORE_UNEXPECTED_EOF : int
246
+ OP_IGNORE_UNEXPECTED_EOF : Final = 0x80
247
247
if 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
250
250
251
251
# 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
258
258
259
259
if sys .version_info >= (3 , 10 ):
260
260
# 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
264
263
265
264
# 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 ]
273
272
274
273
# 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 ]
279
278
if 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 ]
288
287
if sys .version_info >= (3 , 14 ):
289
- HAS_PHA : bool
288
+ HAS_PHA : Final [ bool ]
290
289
291
290
# 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