Skip to content

docs: document Post-Quantum Cryptography (PQC) support and add TLS verification tests - #2713

Open
panavenue wants to merge 1 commit into
mainfrom
pqc-auth-proxy
Open

panavenue wants to merge 1 commit into
mainfrom
pqc-auth-proxy

Conversation

@panavenue

Copy link
Copy Markdown
Contributor

Summary

  • Document default Post-Quantum Cryptography (PQC) hybrid TLS 1.3 key exchange (X25519MLKEM768, IANA 0x11ec) support in README.md and CLI --help (cmd/root.go / docs/cmd/cloud-sql-proxy.md), including:
    • Supported versions: Cloud SQL Auth Proxy v2 (v2.15.2+) and v1 (v1.37.6+ / v1.38.4+), Go 1.24+ source builds, and gcloud sql connect binary resolution.
    • Automatic TLS 1.3 fallback to classical X25519 when connecting to servers that do not yet advertise hybrid PQC.
    • Runtime opt-out via GODEBUG=tlsmlkem=0 (for example, when troubleshooting middleboxes or firewalls that drop or reset larger ClientHello messages).
  • Add end-to-end TLS 1.3 handshake and payload verification tests (internal/proxy/pqc_test.go) covering:
    • Default hybrid X25519MLKEM768 (0x11ec) negotiation and PQC-only server connections.
    • Classical X25519 and P-256 (HelloRetryRequest) fallback against classical-only TLS 1.3 servers.
    • GODEBUG=tlsmlkem=0 client-side opt-out (against both hybrid-capable and PQC-only servers) and explicit GODEBUG=tlsmlkem=1.

Testing

  • go test -v -race -count=1 ./internal/proxy -run TestProxyPQCKeyExchange
  • go vet ./... and ./build.sh lint

@panavenue
panavenue marked this pull request as ready for review November 2, 2026 20:48
@panavenue
panavenue requested a review from a team as a code owner November 2, 2026 20:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants