@@ -974,6 +974,26 @@ Added the *root_dir* and *dir_fd* parameters in :func:`~glob.glob` and
974
974
:func:`~ glob.iglob` which allow to specify the root directory for searching.
975
975
(Contributed by Serhiy Storchaka in :issue:`38144 ` .)
976
976
977
+ hashlib
978
+ ------ -
979
+
980
+ The hashlib module requires OpenSSL 1.1 .1 or newer.
981
+ (Contributed by Christian Heimes in :pep:`644 ` and :issue:`43669 ` .)
982
+
983
+ The hashlib module has preliminary support for OpenSSL 3.0 .0.
984
+ (Contributed by Christian Heimes in :issue:`38820 ` and other issues.)
985
+
986
+ The pure- Python fallback of :func:`~ hashlib.pbkdf2_hmac` is deprecated. In
987
+ the future PBKDF2 - HMAC will only be available when Python has been built with
988
+ OpenSSL support.
989
+ (Contributed by Christian Heimes in :issue:`43880 ` .)
990
+
991
+ hmac
992
+ ----
993
+
994
+ The hmac module now uses OpenSSL' s HMAC implementation internally.
995
+ (Contributed by Christian Heimes in :issue:`40645 ` .)
996
+
977
997
importlib.metadata
978
998
------------------
979
999
@@ -1109,16 +1129,51 @@ Added option to create MPTCP sockets with ``IPPROTO_MPTCP``
1109
1129
ssl
1110
1130
-- -
1111
1131
1132
+ The ssl module requires OpenSSL 1.1 .1 or newer.
1133
+ (Contributed by Christian Heimes in :pep:`644 ` and :issue:`43669 ` .)
1134
+
1135
+ The ssl module has preliminary support for OpenSSL 3.0 .0 and new option
1136
+ :data:`~ ssl.OP_IGNORE
10000
_UNEXPECTED_EOF ` .
1137
+ (Contributed by Christian Heimes in :issue:`38820 ` , :issue:`43794 ` ,
1138
+ :issue:`43788 ` , :issue:`43791 ` , :issue:`43799 ` , :issue:`43920 ` ,
1139
+ :issue:`43789 ` , and :issue:`43811 ` .)
1140
+
1141
+ Deprecated function and use of deprecated constants now result in
1142
+ a :exc:`DeprecationWarning ` . The following features have been deprecated
1143
+ since Python 3.6 , Python 3.7 , or OpenSSL 1.1 .0:
1144
+ :data:`~ ssl.OP_NO_SSLv2 ` , :data:`~ ssl.OP_NO_SSLv3 ` , :data:`~ ssl.OP_NO_TLSv1 ` ,
1145
+ :data:`~ ssl.OP_NO_TLSv1_1 ` , :data:`~ ssl.OP_NO_TLSv1_2 ` ,
1146
+ :data:`~ ssl.OP_NO_TLSv1_3 ` , :data:`~ ssl.PROTOCOL_SSLv2 ` ,
1147
+ :data:`~ ssl.PROTOCOL_SSLv3 ` , :data:`~ ssl.PROTOCOL_SSLv23 ` ,
1148
+ :data:`~ ssl.PROTOCOL_TLSv1 ` , :data:`~ ssl.PROTOCOL_TLSv1_1 ` ,
1149
+ :data:`~ ssl.PROTOCOL_TLSv1_2 ` , :data:`~ ssl.PROTOCOL_TLS ` ,
1150
+ :func:`~ ssl.wrap_socket` , :func:`~ ssl.match_hostname` ,
1151
+ :func:`~ ssl.RAND_pseudo_bytes ` , :func:`~ ssl.RAND_egd ` ,
1152
+ :meth:`ssl.SSLSocket.selected_npn_protocol` ,
1153
+ :meth:`ssl.SSLContext.set_npn_protocols` .
1154
+ (Contributed by Christian Heimes in :issue:`43880 ` .)
1155
+
1112
1156
The ssl module now has more secure default settings. Ciphers without forward
1113
1157
secrecy or SHA - 1 MAC are disabled by default. Security level 2 prohibits
1114
1158
weak RSA , DH , and ECC keys with less than 112 bits of security.
1115
1159
:class :`~ ssl.SSLContext` defaults to minimum protocol version TLS 1.2 .
1116
1160
Settings are based on Hynek Schlawack' s research.
1117
1161
(Contributed by Christian Heimes in :issue:`43998 ` .)
1118
1162
1163
+ The deprecated protocols SSL 3.0 , TLS 1.0 , and TLS 1.1 are no longer
1164
+ officially supported. Python does not block them actively. However
1165
+ OpenSSL build options, distro configurations, vendor patches, and cipher
1166
+ suites may prevent a successful handshake.
1167
+
1119
1168
Add a * timeout* parameter to the :func:`ssl.get_server_certificate` function.
1120
1169
(Contributed by Zackery Spytz in :issue:`31870 ` .)
1121
1170
1171
+ The ssl module uses heap- types and multi- phase initialization.
1172
+ (Contributed by Christian Heimes in :issue:`42333 ` .)
1173
+
1174
+ A new verify flag :data:`~ ssl.VERIFY_X509_PARTIAL_CHAIN ` has been added.
1175
+ (Contributed by l0x in :issue:`40849 ` .)
1176
+
1122
1177
sqlite3
1123
1178
------ -
1124
1179
0 commit comments