From cb982276e806c3f3c67faf85f009a9c688d084f4 Mon Sep 17 00:00:00 2001 From: Carl Lundin <108372512+clundin25@users.noreply.github.com> Date: Mon, 17 Jun 2024 11:15:17 -0700 Subject: [PATCH] chore: Use cryptography for the Provider as well. This is to have an easier time pinning the correct OpenSSL version. (#1537) * 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 | 5 ++--- system_tests/secrets.tar.enc | Bin 10324 -> 10324 bytes 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/google/auth/transport/requests.py b/google/auth/transport/requests.py index 63a2b4596..23a69783d 100644 --- a/google/auth/transport/requests.py +++ b/google/auth/transport/requests.py @@ -267,10 +267,9 @@ 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 + import urllib3.contrib.pyopenssl - urllib3.contrib.pyopenssl.inject_into_urllib3() + urllib3.contrib.pyopenssl.inject_into_urllib3() poolmanager = create_urllib3_context() poolmanager.load_verify_locations(cafile=certifi.where()) diff --git a/system_tests/secrets.tar.enc b/system_tests/secrets.tar.enc index 36a234dc732032dff3ab3ab66045f75e02414035..44f0be23b2153efe08f0543058b3eebf1c86152f 100644 GIT binary patch literal 10324 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 literal 10324 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 mHjMy`7Jj)S5_6WGfz6scn|*#