diff --git a/cheroot/_compat.py b/cheroot/_compat.py index dbe5c6d2ff..a6497c1778 100644 --- a/cheroot/_compat.py +++ b/cheroot/_compat.py @@ -8,9 +8,11 @@ try: import ssl IS_ABOVE_OPENSSL10 = ssl.OPENSSL_VERSION_INFO >= (1, 1) + IS_OPENSSL3 = ssl.OPENSSL_VERSION_INFO >= (3, 0) del ssl except ImportError: IS_ABOVE_OPENSSL10 = None + IS_OPENSSL3 = None IS_CI = bool(os.getenv('CI')) diff --git a/cheroot/test/test_ssl.py b/cheroot/test/test_ssl.py index 1900e20d15..fb534b936f 100644 --- a/cheroot/test/test_ssl.py +++ b/cheroot/test/test_ssl.py @@ -17,7 +17,7 @@ import trustme from .._compat import bton, ntob, ntou -from .._compat import IS_ABOVE_OPENSSL10, IS_CI, IS_PYPY +from .._compat import IS_ABOVE_OPENSSL10, IS_OPENSSL3, IS_CI, IS_PYPY from .._compat import IS_LINUX, IS_MACOS, IS_WINDOWS from ..server import HTTPServer, get_ssl_adapter_class from ..testing import ( @@ -597,8 +597,9 @@ def test_https_over_http_error(http_server, ip_addr): ), ).request('GET', '/') expected_substring = ( - 'wrong version number' if IS_ABOVE_OPENSSL10 - else 'unknown protocol' + '[SSL] record layer failure (_ssl.c:1000)' if IS_OPENSSL3 + else 'wrong version number' if IS_ABOVE_OPENSSL10 + else 'unknown protocol' ) assert expected_substring in ssl_err.value.args[-1]