From 0cd2ef004ab6b6f242ecc420c2b3f0883178de46 Mon Sep 17 00:00:00 2001 From: Stewart Smith Date: Sat, 22 Aug 2026 16:12:34 -0700 Subject: [PATCH 1/2] Adjust SSL certificate-verification error strings for AWS-LC compat AWS-LC ssl.SSLCertVerificationError message differs from OpenSSL: OpenSSL: "certificate verify failed: self signed certificate" AWS-LC: "[SSL: CERTIFICATE_VERIFY_FAILED] CERTIFICATE_VERIFY_FAILED:\ self signed certificate (_ssl.c:1082)" By adjusting the text being looked for to be the common substrings, the tests work when Python is built with AWS-LC. --- tests/asyncio/test_client.py | 8 ++++---- tests/sync/test_client.py | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/tests/asyncio/test_client.py b/tests/asyncio/test_client.py index 6f6070c6..827faa42 100644 --- a/tests/asyncio/test_client.py +++ b/tests/asyncio/test_client.py @@ -554,7 +554,7 @@ async def test_reject_invalid_server_certificate(self): async with connect(get_uri(server)): self.fail("did not raise") self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception).replace("-", " "), ) @@ -568,7 +568,7 @@ async def test_reject_invalid_server_hostname(self): ): self.fail("did not raise") self.assertIn( - "certificate verify failed: Hostname mismatch", + "Hostname mismatch", str(raised.exception), ) @@ -878,7 +878,7 @@ async def test_https_proxy_invalid_proxy_certificate(self): async with connect("wss://example.com/"): self.fail("did not raise") self.assertIn( - "certificate verify failed: unable to get local issuer certificate", + "unable to get local issuer certificate", str(raised.exception), ) @@ -891,7 +891,7 @@ async def test_https_proxy_invalid_server_certificate(self): async with connect(get_uri(server), proxy_ssl=self.proxy_context): self.fail("did not raise") self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception).replace("-", " "), ) self.assertNumFlows(1) diff --git a/tests/sync/test_client.py b/tests/sync/test_client.py index d4d42c31..401fcce3 100644 --- a/tests/sync/test_client.py +++ b/tests/sync/test_client.py @@ -328,7 +328,7 @@ def test_reject_invalid_server_certificate(self): with connect(get_uri(server)): self.fail("did not raise") self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception).replace("-", " "), ) @@ -342,7 +342,7 @@ def test_reject_invalid_server_hostname(self): ): self.fail("did not raise") self.assertIn( - "certificate verify failed: Hostname mismatch", + "Hostname mismatch", str(raised.exception), ) @@ -615,7 +615,7 @@ def test_https_proxy_invalid_proxy_certificate(self): with connect("wss://example.com/"): self.fail("did not raise") self.assertIn( - "certificate verify failed: unable to get local issuer certificate", + "unable to get local issuer certificate", str(raised.exception), ) self.assertNumFlows(0) @@ -629,7 +629,7 @@ def test_https_proxy_invalid_server_certificate(self): with connect(get_uri(server), proxy_ssl=self.proxy_context): self.fail("did not raise") self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception).replace("-", " "), ) self.assertNumFlows(1) From 8fa19e9b3ff169b8a1724ce684f3b3eb29515a92 Mon Sep 17 00:00:00 2001 From: Aymeric Augustin Date: Sun, 23 Aug 2026 21:55:52 +0200 Subject: [PATCH 2/2] Apply AWS-LC SSL error string fix to trio tests too. Same rationale as 0cd2ef0: match only the substring common to OpenSSL and AWS-LC error messages. --- tests/trio/test_client.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/tests/trio/test_client.py b/tests/trio/test_client.py index 6afd35f8..45e290af 100644 --- a/tests/trio/test_client.py +++ b/tests/trio/test_client.py @@ -567,7 +567,7 @@ async def test_reject_invalid_server_certificate(self): ssl.SSLCertVerificationError, ) self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception.__cause__).replace("-", " "), ) @@ -587,7 +587,7 @@ async def test_reject_invalid_server_hostname(self): ssl.SSLCertVerificationError, ) self.assertIn( - "certificate verify failed: Hostname mismatch", + "Hostname mismatch", str(raised.exception.__cause__), ) @@ -884,7 +884,7 @@ async def test_https_proxy_invalid_proxy_certificate(self): self.fail("did not raise") self.assertIsInstance(raised.exception.__cause__, ssl.SSLCertVerificationError) self.assertIn( - "certificate verify failed: unable to get local issuer certificate", + "unable to get local issuer certificate", str(raised.exception.__cause__), ) @@ -900,7 +900,7 @@ async def test_https_proxy_invalid_server_certificate(self): self.fail("did not raise") self.assertIsInstance(raised.exception.__cause__, ssl.SSLCertVerificationError) self.assertIn( - "certificate verify failed: self signed certificate", + "self signed certificate", str(raised.exception.__cause__).replace("-", " "), ) self.assertNumFlows(1)