diff options
Diffstat (limited to 'src/lib')
-rw-r--r-- | src/lib/libssl/tls13_key_schedule.c | 58 |
1 files changed, 29 insertions, 29 deletions
diff --git a/src/lib/libssl/tls13_key_schedule.c b/src/lib/libssl/tls13_key_schedule.c index ab8e99a293..bce87a7ea9 100644 --- a/src/lib/libssl/tls13_key_schedule.c +++ b/src/lib/libssl/tls13_key_schedule.c | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: tls13_key_schedule.c,v 1.11 2021/01/05 17:43:13 tb Exp $ */ | 1 | /* $OpenBSD: tls13_key_schedule.c,v 1.12 2021/01/05 17:45:32 tb Exp $ */ |
2 | /* Copyright (c) 2018, Bob Beck <beck@openbsd.org> | 2 | /* Copyright (c) 2018, Bob Beck <beck@openbsd.org> |
3 | * | 3 | * |
4 | * Permission to use, copy, modify, and/or distribute this software for any | 4 | * Permission to use, copy, modify, and/or distribute this software for any |
@@ -47,34 +47,6 @@ tls13_secret_cleanup(struct tls13_secret *secret) | |||
47 | secret->len = 0; | 47 | secret->len = 0; |
48 | } | 48 | } |
49 | 49 | ||
50 | void | ||
51 | tls13_secrets_destroy(struct tls13_secrets *secrets) | ||
52 | { | ||
53 | if (secrets == NULL) | ||
54 | return; | ||
55 | |||
56 | /* you can never be too sure :) */ | ||
57 | tls13_secret_cleanup(&secrets->zeros); | ||
58 | tls13_secret_cleanup(&secrets->empty_hash); | ||
59 | |||
60 | tls13_secret_cleanup(&secrets->extracted_early); | ||
61 | tls13_secret_cleanup(&secrets->binder_key); | ||
62 | tls13_secret_cleanup(&secrets->client_early_traffic); | ||
63 | tls13_secret_cleanup(&secrets->early_exporter_master); | ||
64 | tls13_secret_cleanup(&secrets->derived_early); | ||
65 | tls13_secret_cleanup(&secrets->extracted_handshake); | ||
66 | tls13_secret_cleanup(&secrets->client_handshake_traffic); | ||
67 | tls13_secret_cleanup(&secrets->server_handshake_traffic); | ||
68 | tls13_secret_cleanup(&secrets->derived_handshake); | ||
69 | tls13_secret_cleanup(&secrets->extracted_master); | ||
70 | tls13_secret_cleanup(&secrets->client_application_traffic); | ||
71 | tls13_secret_cleanup(&secrets->server_application_traffic); | ||
72 | tls13_secret_cleanup(&secrets->exporter_master); | ||
73 | tls13_secret_cleanup(&secrets->resumption_master); | ||
74 | |||
75 | freezero(secrets, sizeof(struct tls13_secrets)); | ||
76 | } | ||
77 | |||
78 | /* | 50 | /* |
79 | * Allocate a set of secrets for a key schedule using | 51 | * Allocate a set of secrets for a key schedule using |
80 | * a size of hash_length from RFC 8446 section 7.1. | 52 | * a size of hash_length from RFC 8446 section 7.1. |
@@ -157,6 +129,34 @@ tls13_secrets_create(const EVP_MD *digest, int resumption) | |||
157 | return NULL; | 129 | return NULL; |
158 | } | 130 | } |
159 | 131 | ||
132 | void | ||
133 | tls13_secrets_destroy(struct tls13_secrets *secrets) | ||
134 | { | ||
135 | if (secrets == NULL) | ||
136 | return; | ||
137 | |||
138 | /* you can never be too sure :) */ | ||
139 | tls13_secret_cleanup(&secrets->zeros); | ||
140 | tls13_secret_cleanup(&secrets->empty_hash); | ||
141 | |||
142 | tls13_secret_cleanup(&secrets->extracted_early); | ||
143 | tls13_secret_cleanup(&secrets->binder_key); | ||
144 | tls13_secret_cleanup(&secrets->client_early_traffic); | ||
145 | tls13_secret_cleanup(&secrets->early_exporter_master); | ||
146 | tls13_secret_cleanup(&secrets->derived_early); | ||
147 | tls13_secret_cleanup(&secrets->extracted_handshake); | ||
148 | tls13_secret_cleanup(&secrets->client_handshake_traffic); | ||
149 | tls13_secret_cleanup(&secrets->server_handshake_traffic); | ||
150 | tls13_secret_cleanup(&secrets->derived_handshake); | ||
151 | tls13_secret_cleanup(&secrets->extracted_master); | ||
152 | tls13_secret_cleanup(&secrets->client_application_traffic); | ||
153 | tls13_secret_cleanup(&secrets->server_application_traffic); | ||
154 | tls13_secret_cleanup(&secrets->exporter_master); | ||
155 | tls13_secret_cleanup(&secrets->resumption_master); | ||
156 | |||
157 | freezero(secrets, sizeof(struct tls13_secrets)); | ||
158 | } | ||
159 | |||
160 | int | 160 | int |
161 | tls13_hkdf_expand_label(struct tls13_secret *out, const EVP_MD *digest, | 161 | tls13_hkdf_expand_label(struct tls13_secret *out, const EVP_MD *digest, |
162 | const struct tls13_secret *secret, const char *label, | 162 | const struct tls13_secret *secret, const char *label, |