21#ifndef DETERMINISTICESPASYNCWEBSERVER_QUIC_HKDF_H
22#define DETERMINISTICESPASYNCWEBSERVER_QUIC_HKDF_H
27#if (DETWS_ENABLE_HTTP3 || DETWS_ENABLE_DTLS)
33#define QUIC_HKDF_HASH_LEN 32
44void quic_hkdf_extract(
const uint8_t *salt,
size_t salt_len,
const uint8_t *ikm,
size_t ikm_len,
45 uint8_t prk[QUIC_HKDF_HASH_LEN]);
49static constexpr char QUIC_HKDF_LABEL_PREFIX[] =
"tls13 ";
66void quic_hkdf_expand_label(
const uint8_t secret[QUIC_HKDF_HASH_LEN],
const char *label, uint8_t *out,
size_t out_len,
67 const char *label_prefix = QUIC_HKDF_LABEL_PREFIX);
84void quic_hkdf_expand_label_ctx(
const uint8_t secret[QUIC_HKDF_HASH_LEN],
const char *label,
const uint8_t *context,
85 size_t context_len, uint8_t *out,
size_t out_len,
86 const char *label_prefix = QUIC_HKDF_LABEL_PREFIX);
User-facing configuration for DeterministicESPAsyncWebServer.