comparison src/event/quic/ngx_event_quic_protection.c @ 8802:d458101b7b81 quic

QUIC: compact initial secrets table.
author Sergey Kandaurov <pluknet@nginx.com>
date Thu, 17 Jun 2021 12:35:38 +0300
parents e617d0ba387a
children 6d1488b62dc5
comparison
equal deleted inserted replaced
8801:2029a30863e2 8802:d458101b7b81
210 struct { 210 struct {
211 ngx_str_t label; 211 ngx_str_t label;
212 ngx_str_t *key; 212 ngx_str_t *key;
213 ngx_str_t *prk; 213 ngx_str_t *prk;
214 } seq[] = { 214 } seq[] = {
215
216 /* labels per RFC 9001, 5.1. Packet Protection Keys */ 215 /* labels per RFC 9001, 5.1. Packet Protection Keys */
217 { ngx_string("tls13 client in"), &client->secret, &iss }, 216 { ngx_string("tls13 client in"), &client->secret, &iss },
218 { 217 { ngx_string("tls13 quic key"), &client->key, &client->secret },
219 ngx_string("tls13 quic key"), 218 { ngx_string("tls13 quic iv"), &client->iv, &client->secret },
220 &client->key, 219 { ngx_string("tls13 quic hp"), &client->hp, &client->secret },
221 &client->secret,
222 },
223 {
224 ngx_string("tls13 quic iv"),
225 &client->iv,
226 &client->secret,
227 },
228 {
229 ngx_string("tls13 quic hp"),
230 &client->hp,
231 &client->secret,
232 },
233 { ngx_string("tls13 server in"), &server->secret, &iss }, 220 { ngx_string("tls13 server in"), &server->secret, &iss },
234 { 221 { ngx_string("tls13 quic key"), &server->key, &server->secret },
235 ngx_string("tls13 quic key"), 222 { ngx_string("tls13 quic iv"), &server->iv, &server->secret },
236 &server->key, 223 { ngx_string("tls13 quic hp"), &server->hp, &server->secret },
237 &server->secret,
238 },
239 {
240 ngx_string("tls13 quic iv"),
241 &server->iv,
242 &server->secret,
243 },
244 {
245 ngx_string("tls13 quic hp"),
246 &server->hp,
247 &server->secret,
248 },
249
250 }; 224 };
251 225
252 for (i = 0; i < (sizeof(seq) / sizeof(seq[0])); i++) { 226 for (i = 0; i < (sizeof(seq) / sizeof(seq[0])); i++) {
253 227
254 if (ngx_quic_hkdf_expand(pool, digest, seq[i].key, &seq[i].label, 228 if (ngx_quic_hkdf_expand(pool, digest, seq[i].key, &seq[i].label,