summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnder Juaristi <a@juaristi.eus>2017-12-16 12:58:39 +0100
committerAnder Juaristi <a@juaristi.eus>2017-12-16 17:11:21 +0100
commitcdb1d028a4aaf61531e6e7d9d9a8759d5956daa9 (patch)
tree20f7ccbc37ee613b2c1eff7cdeb6123101fa40ff
parent2b81285286e397ea19d893f3bc4884655ea51b9f (diff)
downloadgnutls-cdb1d028a4aaf61531e6e7d9d9a8759d5956daa9.tar.gz
Merge from upstream
Signed-off-by: Ander Juaristi <a@juaristi.eus>
-rw-r--r--lib/ext/pre_shared_key.c6
-rw-r--r--lib/handshake.c3
-rw-r--r--lib/secrets.c7
-rw-r--r--lib/tls13/finished.c4
4 files changed, 8 insertions, 12 deletions
diff --git a/lib/ext/pre_shared_key.c b/lib/ext/pre_shared_key.c
index 36df5d7099..8056882af1 100644
--- a/lib/ext/pre_shared_key.c
+++ b/lib/ext/pre_shared_key.c
@@ -40,10 +40,6 @@ compute_binder_key(const mac_entry_st *prf,
char label[] = "ext_binder";
size_t label_len = strlen(label);
uint8_t tmp_key[MAX_HASH_SIZE];
- size_t tmp_key_len = _gnutls_mac_get_algo_len(prf);
-
- if (tmp_key_len == 0)
- return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
/* Compute HKDF-Extract(0, psk) */
/* TODO try to use the existing functions here */
@@ -58,7 +54,7 @@ compute_binder_key(const mac_entry_st *prf,
ret = _tls13_derive_secret2(prf,
label, label_len,
NULL, 0,
- tmp_key, tmp_key_len,
+ tmp_key,
out);
if (ret < 0)
return ret;
diff --git a/lib/handshake.c b/lib/handshake.c
index 5658f9af4f..b9bbea8156 100644
--- a/lib/handshake.c
+++ b/lib/handshake.c
@@ -1780,7 +1780,8 @@ read_server_hello(gnutls_session_t session,
}
ret = _tls13_derive_secret(session, DERIVED_LABEL, sizeof(DERIVED_LABEL)-1,
- NULL, 0, session->key.temp_secret);
+ NULL, 0, session->key.proto.tls13.temp_secret,
+ session->key.proto.tls13.temp_secret);
if (ret < 0)
gnutls_assert();
}
diff --git a/lib/secrets.c b/lib/secrets.c
index 5ca6ad3f89..374e1bf1eb 100644
--- a/lib/secrets.c
+++ b/lib/secrets.c
@@ -83,7 +83,7 @@ int _tls13_derive_secret2(const mac_entry_st *prf,
if (ret < 0)
return gnutls_assert_val(ret);
- return _tls13_expand_secret2(prf, label, label_size, digest, digest_size, secret, out_size, out);
+ return _tls13_expand_secret2(prf, label, label_size, digest, digest_size, secret, digest_size, out);
}
/* Derive-Secret(Secret, Label, Messages) */
@@ -96,9 +96,8 @@ int _tls13_derive_secret(gnutls_session_t session,
if (unlikely(session->security_parameters.prf == NULL))
return gnutls_assert_val(GNUTLS_E_INTERNAL_ERROR);
- return _tls13_derive_secret2(session->security_parameters.prf, label, label_size, msg, msg_size,
- session->key.temp_secret,
- session->key.temp_secret_size,
+ return _tls13_derive_secret2(session->security_parameters.prf, label, label_size, tbh, tbh_size,
+ secret,
out);
}
diff --git a/lib/tls13/finished.c b/lib/tls13/finished.c
index 873ebfb255..c28d24a19d 100644
--- a/lib/tls13/finished.c
+++ b/lib/tls13/finished.c
@@ -77,9 +77,9 @@ int _gnutls13_recv_finished(gnutls_session_t session)
hash_size = session->security_parameters.prf->output_size;
if (session->security_parameters.entity == GNUTLS_CLIENT)
- base_key = session->key.hs_skey;
+ base_key = session->key.proto.tls13.hs_skey;
else
- base_key = session->key.hs_ckey;
+ base_key = session->key.proto.tls13.hs_ckey;
ret = _gnutls13_compute_finished(session->security_parameters.prf,
base_key, hash_size,