hostap/src/eap_common
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
..
chap.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
chap.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_common.c Fix a typo in function documentation 2015-05-03 16:31:59 +03:00
eap_common.h ERP: Add TV/TLV parser 2014-12-04 12:08:59 +02:00
eap_defs.h ERP: Add defines for EAP Re-Authentication Protocol 2014-12-04 00:58:14 +02:00
eap_eke_common.c EAP-EKE: Merge identical error return paths 2015-12-22 00:10:22 +02:00
eap_eke_common.h EAP-EKE: Add peer implementation 2013-07-07 20:30:10 +03:00
eap_fast_common.c TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_fast_common.h TLS: Split tls_connection_prf() into two functions 2016-05-23 20:40:12 +03:00
eap_gpsk_common.c EAP-GPSK: Check HMAC-SHA256 result in GKDF and MIC 2015-10-17 20:40:01 +03:00
eap_gpsk_common.h EAP peer: Add Session-Id derivation 2013-02-09 01:20:38 +02:00
eap_ikev2_common.c EAP-IKEv2: Use os_memcmp_const() for hash/password comparisons 2014-07-02 12:38:47 +03:00
eap_ikev2_common.h EAP-IKEv2: Remove obsolete ccns.pl project workarounds 2014-06-08 12:28:36 +03:00
eap_pax_common.c EAP-PAX: Check hmac_sha1_vector() return value 2016-01-06 21:12:08 +02:00
eap_pax_common.h EAP-PAX: Derive EAP Session-Id 2014-12-01 01:46:07 +02:00
eap_peap_common.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_peap_common.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_psk_common.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_psk_common.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_pwd_common.c EAP-pwd: Add support for Brainpool Elliptic Curves 2015-11-01 11:29:06 +02:00
eap_pwd_common.h EAP-pwd: Mark helper function arguments const when appropriate 2015-03-28 09:34:30 +02:00
eap_sake_common.c EAP-SAKE: Fix a typo in attribute parser debug print 2015-11-28 12:25:42 +02:00
eap_sake_common.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_sim_common.c EAP-SIM/AKA: Use os_memcmp_const() for hash/password comparisons 2014-07-02 12:38:47 +03:00
eap_sim_common.h EAP-SIM/AKA: Pass EAP type as argument to eap_sim_msg_finish() 2014-07-02 12:38:47 +03:00
eap_tlv_common.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_ttls.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_wsc_common.c Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
eap_wsc_common.h Remove the GPL notification from files contributed by Jouni Malinen 2012-02-11 19:39:36 +02:00
ikev2_common.c EAP-IKEv2: Check HMAC SHA1/MD5 result 2015-12-05 21:49:04 +02:00
ikev2_common.h EAP-IKEv2: Remove obsolete ccns.pl project workarounds 2014-06-08 12:28:36 +03:00
Makefile tests: Add eapol-fuzzer 2015-04-22 11:44:19 +03:00