hostap/src
David Benjamin 7358170787 TLS: Split tls_connection_prf() into two functions
Most protocols extracting keys from TLS use RFC 5705 exporters which is
commonly implemented in TLS libraries. This is the mechanism used by
EAP-TLS. (EAP-TLS actually predates RFC 5705, but RFC 5705 was defined
to be compatible with it.)

EAP-FAST, however, uses a legacy mechanism. It reuses the TLS internal
key block derivation and derives key material after the key block. This
is uncommon and a misuse of TLS internals, so not all TLS libraries
support this. Instead, we reimplement the PRF for the OpenSSL backend
and don't support it at all in the GnuTLS one.

Since these two are very different operations, split
tls_connection_prf() in two. tls_connection_export_key() implements the
standard RFC 5705 mechanism that we expect most TLS libraries to
support. tls_connection_get_eap_fast_key() implements the
EAP-FAST-specific legacy mechanism which may not be implemented on all
backends but is only used by EAP-FAST.

Signed-Off-By: David Benjamin <davidben@google.com>
2016-05-23 20:40:12 +03:00
..
ap Add assocresp_elements parameter for hostapd 2016-04-20 13:12:50 +03:00
common Assign QCA vendor command/attributes for set/get wifi configuration 2016-04-19 00:49:33 +03:00
crypto TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
drivers nl80211: Add TEST_FAIL() to nl80211_set_mac_addr() 2016-05-22 18:08:55 +03:00
eap_common TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_peer TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_server TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eapol_auth RADIUS: Share a single function for generating session IDs 2016-02-06 17:19:35 +02:00
eapol_supp Fix EAPOL reauth after FT protocol or offloaded PMKSA cache use 2015-11-19 21:16:18 +02:00
fst FST: Fix session setup failure with peer without MB IE 2016-03-07 18:04:47 +02:00
l2_packet l2_packet: Extend bridge workaround RX processing to cover two frames 2016-01-07 13:30:59 +02:00
p2p P2PS: Correct config_methods for different P2P cases 2016-05-19 19:16:10 +03:00
pae MACsec: Update protect frames and replay on reauthentication 2014-12-09 16:56:10 +02:00
radius Check md5_vector() result in decrypt_ms_key() 2016-05-16 20:08:53 +03:00
rsn_supp RSN: Set EAPOL-Key Request Secure bit to 1 if PTK is set 2016-04-05 18:36:28 +03:00
tls TLS: Make tls_cert_chain_failure_event() more robust 2015-12-28 18:31:11 +02:00
utils wpa_cli: Add backspace key process for some terminal 2016-05-13 18:48:45 +03:00
wps WPS: Check sha256_vector() result in wps_build_oob_dev_pw() 2016-05-16 21:06:44 +03:00
lib.rules Add QUIET=1 option for make 2014-12-29 15:49:05 +02:00
Makefile FST: Add the Fast Session Transfer (FST) module 2015-07-16 18:26:15 +03:00