feat: add ecdsa p-384 support by shengjiang3 · Pull Request #1872 · googleapis/google-auth-library-python

@shengjiang3

GDC (Google Distributed Cloud) needs to support ECDSA-P384 keys for
compliance. This change creates an EsSigner and EsVerifier class that is
capable of supporting both ECDSA-P256 and ECDSA-P384 keys for backwards
compatibility. The EsSigner and EsVerifier classes are plumbed through
to the GDC service accounts and are used to both sign and verify JWTs.

This implementation was successfully tested against a GDC instance using
both ECDSA-P256 and ECDSA-P384 keys.

@shengjiang3 requested a review from a team

November 11, 2025 07:05

@daniel-sanche

daniel-sanche

@shengjiang3

daniel-sanche

- Changed ESAttributes to _ESAttributes.
- Merged from_private_key and from_public_key to from_key.

@shengjiang3

daniel-sanche

@daniel-sanche

Linchin

Linchin previously approved these changes Nov 19, 2025

@shengjiang3

auto-merge was automatically disabled

November 20, 2025 19:07

Head branch was pushed to by a user without write access

@shengjiang3

@shengjiang3

@shengjiang3

@daniel-sanche

daniel-sanche

vchudnov-g added a commit that referenced this pull request

Dec 15, 2025
PR created by the Librarian CLI to initialize a release. Merging this PR
will auto trigger a release.

Librarian Version: v0.7.0
Language Image:
us-central1-docker.pkg.dev/cloud-sdk-librarian-prod/images-prod/python-librarian-generator:latest
<details><summary>google-auth: 2.44.0</summary>

##
[2.44.0](v2.43.0...v2.44.0)
(2025-12-12)

### Features

* MDS connections use mTLS (#1856)
([0387bb9](0387bb95))

* support Python 3.14 (#1822)
([0f7097e](0f7097e7))

* add ecdsa p-384 support (#1872)
([39c381a](39c381a5))

* Add shlex to correctly parse executable commands with spaces (#1855)
([cf6fc3c](cf6fc3cc))

* Implement token revocation in STS client and add revoke() metho…
(#1849)
([d563898](d5638986))

### Bug Fixes

* Add temporary patch to workload cert logic to accomodate Cloud Run
mis-configuration (#1880)
([78de790](78de7907))

* Delegate workload cert and key default lookup to helper function
(#1877)
([b0993c7](b0993c7e))

* Use public refresh method for source credentials in
ImpersonatedCredentials (#1884)
([e0c3296](e0c3296f))

</details>