mirror of
https://github.com/haproxy/haproxy.git
synced 2026-11-06 14:36:24 +00:00
QUIC key and token derivation currently uses EVP_PKEY for all HKDF operations, creating and configuring a context for each derivation. Use HKDF_extract(), HKDF_expand() and HKDF() directly with AWS-LC and BoringSSL. With OpenSSL 3, use EVP_KDF directly to bypass the EVP_PKEY compatibility layer and pass the parameters in a single call. Keep the EVP_PKEY approach for the other SSL libraries. Centralize the three HKDF modes in a common helper and make the extract and expand wrappers private to quic_tls.c. Local HTTP/3 tests with an unchanged HALoad client, one full handshake per request and empty responses showed these median request rates and paired gains: SSL library HATerm HEAD HATerm patched Paired gain OpenSSL 3.5.4 486 540 +11% AWS-LC 5.9.0 903 950 +4% without session resumption. Validated with RFC 5869 and RFC 9001 vectors and full QUIC handshakes.