]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
Remove master key extraction from tls_connection_get_keys()
authorJouni Malinen <jouni@qca.qualcomm.com>
Tue, 31 Mar 2015 12:52:40 +0000 (15:52 +0300)
committerJouni Malinen <j@w1.fi>
Tue, 31 Mar 2015 12:52:40 +0000 (15:52 +0300)
This is not needed anymore with the tls_connection_prf() being used to
handle all key derivation needs. tls_connection_get_keys() is a bit
misnamed for now, but it is only used to fetch the client and server
random for Session-Id derivation.

Signed-off-by: Jouni Malinen <jouni@qca.qualcomm.com>
src/crypto/tls.h
src/crypto/tls_openssl.c
src/tls/tlsv1_client.c
src/tls/tlsv1_server.c

index 9ae95a66c9ed69f098b126ca538c06eb71f58a40..97ed8c1ceec31825d300904564b52c4e56fdf4b4 100644 (file)
@@ -12,8 +12,6 @@
 struct tls_connection;
 
 struct tls_keys {
-       const u8 *master_key; /* TLS master secret */
-       size_t master_key_len;
        const u8 *client_random;
        size_t client_random_len;
        const u8 *server_random;
@@ -308,10 +306,10 @@ int __must_check tls_connection_set_verify(void *tls_ctx,
                                           int verify_peer);
 
 /**
- * tls_connection_get_keys - Get master key and random data from TLS connection
+ * tls_connection_get_keys - Get random data from TLS connection
  * @tls_ctx: TLS context data from tls_init()
  * @conn: Connection context data from tls_connection_init()
- * @keys: Structure of key/random data (filled on success)
+ * @keys: Structure of client/server random data (filled on success)
  * Returns: 0 on success, -1 on failure
  */
 int __must_check tls_connection_get_keys(void *tls_ctx,
index 8f9bea6a1af509a1982a568af12ba44907dcde49..00e44799b5fa9c9e005312dde8365e8172e4b045 100644 (file)
@@ -2633,8 +2633,6 @@ int tls_connection_get_keys(void *ssl_ctx, struct tls_connection *conn,
                return -1;
 
        os_memset(keys, 0, sizeof(*keys));
-       keys->master_key = ssl->session->master_key;
-       keys->master_key_len = ssl->session->master_key_length;
        keys->client_random = ssl->s3->client_random;
        keys->client_random_len = SSL3_RANDOM_SIZE;
        keys->server_random = ssl->s3->server_random;
index facdd659173db9d87cc865b5fa1b15ed4a9d689f..533286c12b9465d045bff92d12d1da94e38f0936 100644 (file)
@@ -731,8 +731,6 @@ int tlsv1_client_get_keys(struct tlsv1_client *conn, struct tls_keys *keys)
        if (conn->state != SERVER_HELLO) {
                keys->server_random = conn->server_random;
                keys->server_random_len = TLS_RANDOM_LEN;
-               keys->master_key = conn->master_secret;
-               keys->master_key_len = TLS_MASTER_SECRET_LEN;
        }
 
        return 0;
index 93ae4888d89804da357dc4ab332662bd73e08759..4df756f7d79e4a7630578b759e956c036dbc902b 100644 (file)
@@ -627,8 +627,6 @@ int tlsv1_server_get_keys(struct tlsv1_server *conn, struct tls_keys *keys)
        if (conn->state != SERVER_HELLO) {
                keys->server_random = conn->server_random;
                keys->server_random_len = TLS_RANDOM_LEN;
-               keys->master_key = conn->master_secret;
-               keys->master_key_len = TLS_MASTER_SECRET_LEN;
        }
 
        return 0;