--- a/src/urllib3/contrib/pyopenssl.py +++ b/src/urllib3/contrib/pyopenssl.py @@ -69,9 +69,11 @@ _openssl_versions: dict[int, int] = { util.ssl_.PROTOCOL_TLS: OpenSSL.SSL.SSLv23_METHOD, # type: ignore[attr-defined] util.ssl_.PROTOCOL_TLS_CLIENT: OpenSSL.SSL.SSLv23_METHOD, # type: ignore[attr-defined] - ssl.PROTOCOL_TLSv1: OpenSSL.SSL.TLSv1_METHOD, } +if hasattr(ssl, "PROTOCOL_TLSv1") and hasattr(OpenSSL.SSL, "TLSv1_METHOD"): + _openssl_versions[ssl.PROTOCOL_TLSv1] = OpenSSL.SSL.TLSv1_METHOD + if hasattr(ssl, "PROTOCOL_TLSv1_1") and hasattr(OpenSSL.SSL, "TLSv1_1_METHOD"): _openssl_versions[ssl.PROTOCOL_TLSv1_1] = OpenSSL.SSL.TLSv1_1_METHOD --- a/test/test_ssl.py +++ b/test/test_ssl.py @@ -173,15 +173,15 @@ "kwargs", [ { - "ssl_version": ssl.PROTOCOL_TLSv1, + "ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_minimum_version": ssl.TLSVersion.MINIMUM_SUPPORTED, }, { - "ssl_version": ssl.PROTOCOL_TLSv1, + "ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_maximum_version": ssl.TLSVersion.TLSv1, }, { - "ssl_version": ssl.PROTOCOL_TLSv1, + "ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_minimum_version": ssl.TLSVersion.MINIMUM_SUPPORTED, "ssl_maximum_version": ssl.TLSVersion.MAXIMUM_SUPPORTED, }, @@ -222,10 +222,10 @@ @pytest.mark.parametrize( "kwargs", [ - {"ssl_version": ssl.PROTOCOL_TLSv1, "ssl_minimum_version": None}, - {"ssl_version": ssl.PROTOCOL_TLSv1, "ssl_maximum_version": None}, + {"ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_minimum_version": None}, + {"ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_maximum_version": None}, { - "ssl_version": ssl.PROTOCOL_TLSv1, + "ssl_version": getattr(ssl, "PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1_2", 1)), "ssl_minimum_version": None, "ssl_maximum_version": None, }, --- a/test/test_util.py +++ b/test/test_util.py @@ -982,9 +982,11 @@ @pytest.mark.parametrize( "candidate, version", [ - (ssl.PROTOCOL_TLSv1, ssl.PROTOCOL_TLSv1), - ("PROTOCOL_TLSv1", ssl.PROTOCOL_TLSv1), - ("TLSv1", ssl.PROTOCOL_TLSv1), + *([ + (getattr(ssl, "PROTOCOL_TLSv1", None), getattr(ssl, "PROTOCOL_TLSv1", None)), + ("PROTOCOL_TLSv1", getattr(ssl, "PROTOCOL_TLSv1", None)), + ("TLSv1", getattr(ssl, "PROTOCOL_TLSv1", None)), + ] if hasattr(ssl, "PROTOCOL_TLSv1") else []), (ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_SSLv23), ], )