mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 22:01:31 +02:00
BUG/MINOR: quic: retry token remove one useless intermediate expand
According to rfc 5869 about hkdf, extract function returns a pseudo random key usable to perform expand using labels to derive keys. So the intermediate expand on a label is useless, the key should be strong enought using only one expand. This patch should be backported until v2.6
This commit is contained in:
parent
075b8f4cd8
commit
cc0a4fa0cc
@ -766,13 +766,11 @@ int quic_tls_derive_retry_token_secret(const EVP_MD *md,
|
|||||||
const unsigned char *secret, size_t secretlen)
|
const unsigned char *secret, size_t secretlen)
|
||||||
{
|
{
|
||||||
unsigned char tmpkey[QUIC_TLS_KEY_LEN];
|
unsigned char tmpkey[QUIC_TLS_KEY_LEN];
|
||||||
const unsigned char tmpkey_label[] = "retry token";
|
|
||||||
const unsigned char key_label[] = "retry token key";
|
const unsigned char key_label[] = "retry token key";
|
||||||
const unsigned char iv_label[] = "retry token iv";
|
const unsigned char iv_label[] = "retry token iv";
|
||||||
|
|
||||||
if (!quic_hkdf_extract_and_expand(md, tmpkey, sizeof tmpkey,
|
if (!quic_hkdf_extract(md, tmpkey, sizeof tmpkey,
|
||||||
secret, secretlen, salt, saltlen,
|
secret, secretlen, salt, saltlen) ||
|
||||||
tmpkey_label, sizeof tmpkey_label - 1) ||
|
|
||||||
!quic_hkdf_expand(md, key, keylen, tmpkey, sizeof tmpkey,
|
!quic_hkdf_expand(md, key, keylen, tmpkey, sizeof tmpkey,
|
||||||
key_label, sizeof key_label - 1) ||
|
key_label, sizeof key_label - 1) ||
|
||||||
!quic_hkdf_expand(md, iv, ivlen, tmpkey, sizeof tmpkey,
|
!quic_hkdf_expand(md, iv, ivlen, tmpkey, sizeof tmpkey,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user