From fc2de2c6b795111af2cc42c281d04de5c4dfa27a Mon Sep 17 00:00:00 2001 From: Carl Lundin Date: Thu, 13 Jun 2024 17:18:12 -0700 Subject: [PATCH 1/2] chore: Use cryptography for the Provider as well. This is to have an easier time pinning the correct OpenSSL version. --- google/auth/transport/requests.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py index 63a2b4596..de44af5fe 100644 --- a/google/auth/transport/requests.py +++ b/google/auth/transport/requests.py @@ -267,10 +267,8 @@ def __init__(self, enterprise_cert_file_path): self.signer = _custom_tls_signer.CustomTlsSigner(enterprise_cert_file_path) self.signer.load_libraries() - if not self.signer.should_use_provider(): - import urllib3.contrib.pyopenssl - - urllib3.contrib.pyopenssl.inject_into_urllib3() + import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() poolmanager = create_urllib3_context() poolmanager.load_verify_locations(cafile=certifi.where()) From 207ab4039f4343e61a191000d2f6934c0f332d2e Mon Sep 17 00:00:00 2001 From: Carl Lundin Date: Fri, 14 Jun 2024 09:42:56 -0700 Subject: [PATCH 2/2] chore: Refresh system test creds. --- google/auth/transport/requests.py | 1 + system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes 2 files changed, 1 insertion(+) diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py index de44af5fe..23a69783d 100644 --- a/google/auth/transport/requests.py +++ b/google/auth/transport/requests.py @@ -268,6 +268,7 @@ def __init__(self, enterprise_cert_file_path): self.signer.load_libraries() import urllib3.contrib.pyopenssl + urllib3.contrib.pyopenssl.inject_into_urllib3() poolmanager = create_urllib3_context() diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 104243c2c5af16beff9e04049342857ae34f0235..44f0be23b2153efe08f0543058b3eebf1c86152f 100644 GIT binary patch literal 10324 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 literal 10324 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 mRu;3~3PLW&