Determine this is the right repository
Summary of the issue
When Python's standard ssl.SSLContext.load_cert_chain is invoked with malformed private key bytes or encrypted PEM files without an explicit password (password=None), OpenSSL falls back to prompting interactively on stdin:
This causes automated CI pipelines and local test runners (pytest) to hang indefinitely waiting for terminal input during invalid-credential fallback tests.
It affects compute_engine/_mtls.py and aio/transport/mtls.py.
Proposed Solution
Prevent interactive terminal prompts across all network transports by defaulting password to an empty string when passphrase is None:
ssl_context.load_cert_chain(certfile=cert_path, keyfile=key_path, password=passphrase or "")
Determine this is the right repository
Summary of the issue
When Python's standard
ssl.SSLContext.load_cert_chainis invoked with malformed private key bytes or encrypted PEM files without an explicit password (password=None), OpenSSL falls back to prompting interactively onstdin:This causes automated CI pipelines and local test runners (
pytest) to hang indefinitely waiting for terminal input during invalid-credential fallback tests.It affects
compute_engine/_mtls.pyandaio/transport/mtls.py.Proposed Solution
Prevent interactive terminal prompts across all network transports by defaulting
passwordto an empty string whenpassphraseisNone: