diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/regress/lib/libssl/key_schedule/key_schedule.c | 49 |
1 files changed, 47 insertions, 2 deletions
diff --git a/src/regress/lib/libssl/key_schedule/key_schedule.c b/src/regress/lib/libssl/key_schedule/key_schedule.c index 2b03b9a4d9..0c66d1c7e4 100644 --- a/src/regress/lib/libssl/key_schedule/key_schedule.c +++ b/src/regress/lib/libssl/key_schedule/key_schedule.c | |||
| @@ -1,6 +1,6 @@ | |||
| 1 | /* $OpenBSD: key_schedule.c,v 1.7 2019/05/09 05:47:27 claudio Exp $ */ | 1 | /* $OpenBSD: key_schedule.c,v 1.8 2019/11/18 02:04:56 beck Exp $ */ |
| 2 | /* | 2 | /* |
| 3 | * Copyright (c) 2018 Bob Beck <beck@openbsd.org> | 3 | * Copyright (c) 2018-2019 Bob Beck <beck@openbsd.org> |
| 4 | * | 4 | * |
| 5 | * Permission to use, copy, modify, and distribute this software for any | 5 | * Permission to use, copy, modify, and distribute this software for any |
| 6 | * purpose with or without fee is hereby granted, provided that the above | 6 | * purpose with or without fee is hereby granted, provided that the above |
| @@ -154,6 +154,27 @@ uint8_t expected_server_application_traffic[] = { | |||
| 154 | 0x4b, 0x4f, 0x1f, 0x3f, 0xcb, 0x63, 0x16, 0x43 | 154 | 0x4b, 0x4f, 0x1f, 0x3f, 0xcb, 0x63, 0x16, 0x43 |
| 155 | }; | 155 | }; |
| 156 | 156 | ||
| 157 | uint8_t expected_server_application_traffic_updated[] = { | ||
| 158 | 0x51, 0x92, 0x1b, 0x8a, 0xa3, 0x00, 0x19, 0x76, | ||
| 159 | 0xeb, 0x40, 0x1d, 0x0a, 0x43, 0x19, 0xa8, 0x51, | ||
| 160 | 0x64, 0x16, 0xa6, 0xc5, 0x60, 0x01, 0xa3, 0x57, | ||
| 161 | 0xe5, 0xd1, 0x62, 0x03, 0x1e, 0x84, 0xf9, 0x16, | ||
| 162 | }; | ||
| 163 | |||
| 164 | uint8_t expected_client_application_traffic[] = { | ||
| 165 | 0x9e, 0x40, 0x64, 0x6c, 0xe7, 0x9a, 0x7f, 0x9d, | ||
| 166 | 0xc0, 0x5a, 0xf8, 0x88, 0x9b, 0xce, 0x65, 0x52, | ||
| 167 | 0x87, 0x5a, 0xfa, 0x0b, 0x06, 0xdf, 0x00, 0x87, | ||
| 168 | 0xf7, 0x92, 0xeb, 0xb7, 0xc1, 0x75, 0x04, 0xa5, | ||
| 169 | }; | ||
| 170 | |||
| 171 | uint8_t expected_client_application_traffic_updated[] = { | ||
| 172 | 0xfc, 0xdf, 0xcc, 0x72, 0x72, 0x5a, 0xae, 0xe4, | ||
| 173 | 0x8b, 0xf6, 0x4e, 0x4f, 0xd8, 0xb7, 0x49, 0xcd, | ||
| 174 | 0xbd, 0xba, 0xb3, 0x9d, 0x90, 0xda, 0x0b, 0x26, | ||
| 175 | 0xe2, 0x24, 0x5c, 0xa6, 0xea, 0x16, 0x72, 0x07, | ||
| 176 | }; | ||
| 177 | |||
| 157 | uint8_t expected_exporter_master[] = { | 178 | uint8_t expected_exporter_master[] = { |
| 158 | 0xfe, 0x22, 0xf8, 0x81, 0x17, 0x6e, 0xda, 0x18, | 179 | 0xfe, 0x22, 0xf8, 0x81, 0x17, 0x6e, 0xda, 0x18, |
| 159 | 0xeb, 0x8f, 0x44, 0x52, 0x9e, 0x67, 0x92, 0xc5, | 180 | 0xeb, 0x8f, 0x44, 0x52, 0x9e, 0x67, 0x92, 0xc5, |
| @@ -259,6 +280,13 @@ main (int argc, char **argv) | |||
| 259 | expected_server_application_traffic, 32) != 0) | 280 | expected_server_application_traffic, 32) != 0) |
| 260 | FAIL("server_application_traffic does not match\n"); | 281 | FAIL("server_application_traffic does not match\n"); |
| 261 | 282 | ||
| 283 | fprintf(stderr, "client_application_traffic:\n"); | ||
| 284 | compare_data(secrets->client_application_traffic.data, 32, | ||
| 285 | expected_client_application_traffic, 32); | ||
| 286 | if (memcmp(secrets->client_application_traffic.data, | ||
| 287 | expected_client_application_traffic, 32) != 0) | ||
| 288 | FAIL("server_application_traffic does not match\n"); | ||
| 289 | |||
| 262 | fprintf(stderr, "exporter_master:\n"); | 290 | fprintf(stderr, "exporter_master:\n"); |
| 263 | compare_data(secrets->exporter_master.data, 32, | 291 | compare_data(secrets->exporter_master.data, 32, |
| 264 | expected_exporter_master, 32); | 292 | expected_exporter_master, 32); |
| @@ -266,6 +294,23 @@ main (int argc, char **argv) | |||
| 266 | expected_exporter_master, 32) != 0) | 294 | expected_exporter_master, 32) != 0) |
| 267 | FAIL("exporter_master does not match\n"); | 295 | FAIL("exporter_master does not match\n"); |
| 268 | 296 | ||
| 297 | tls13_update_server_traffic_secret(secrets); | ||
| 298 | fprintf(stderr, "server_application_traffic after update:\n"); | ||
| 299 | compare_data(secrets->server_application_traffic.data, 32, | ||
| 300 | expected_server_application_traffic_updated, 32); | ||
| 301 | if (memcmp(secrets->server_application_traffic.data, | ||
| 302 | expected_server_application_traffic_updated, 32) != 0) | ||
| 303 | FAIL("server_application_traffic does not match after update\n"); | ||
| 304 | |||
| 305 | |||
| 306 | tls13_update_client_traffic_secret(secrets); | ||
| 307 | fprintf(stderr, "client_application_traffic after update:\n"); | ||
| 308 | compare_data(secrets->client_application_traffic.data, 32, | ||
| 309 | expected_server_application_traffic_updated, 32); | ||
| 310 | if (memcmp(secrets->client_application_traffic.data, | ||
| 311 | expected_client_application_traffic_updated, 32) != 0) | ||
| 312 | FAIL("client_application_traffic does not match after update\n"); | ||
| 313 | |||
| 269 | tls13_secrets_destroy(secrets); | 314 | tls13_secrets_destroy(secrets); |
| 270 | 315 | ||
| 271 | return failures; | 316 | return failures; |
