GnuTLS 1.2.8 with TLS Inner Application (TLS/IA) support

Jouni Malinen jkmaline at
Thu Dec 15 10:12:00 EST 2005

On Thu, Dec 15, 2005 at 10:00:05AM +0100, Simon Josefsson wrote:

> I did look at the code, and found this modularization neat.  I did
> wonder whether the GnuTLS wrapper was complete enough for EAP-TTLSv0
> to work, so you answered one of my questions here.
> Is there anything the GnuTLS wrapper in wpa_supplicant does not
> support?  I.e., is there ever a need to use OpenSSL?  If feasible,
> we'd like for distributors of wpa_supplicant (like Debian) to use
> wpa_supplicant with GnuTLS, so that EAP-TTLSv1 can work.

GnuTLS wrapper is not yet complete. EAP-TTLSv0 and EAP-PEAPv0/1 are
relatively complete, but I don't think EAP-TLS was working correctly (I
don't remember for sure, but probably due to client certificate or
private key not configured correctly). In addition, some details of the
certificate chain validation are likely either incorrect or missing
(extra constraints, like verifying server certificate common name,
etc.). EAP-FAST is also missing (though, even with OpenSSL, it requires
a patch that is not in OpenSSL distribution). There may also be some
missing parts for session resumption.

One large missing part is not in the functionality side, but on testing.
I would assume that tls_gnutls.c has not really been used in any
production use so far. I haven't promoted the TLS configuration part
because of not yet having confirmed that all the critical functionality
is available and works with other than OpenSSL wrapper. I think that the
next step would be to make sure that the basic functionality is
available and works. After that, it would be easier to get people
testing wpa_supplicant with GnuTLS and once that has been going on for
awhile, it would be much easier to start saying that either OpenSSL or
GnuTLS can be selected without having unwanted effects for functionality
or security of the program.

> Another question: I also see there is a TLS wrapper for Schannel.
> Does EAP-TTLSv0 in wpa_supplicant work under Windows?  Does it use the
> Windows SSPI credential store and CA certificates?  In general, how
> complete is the Windows support in wpa_supplicant?

EAP-TTLSv0 does indeed work under Windows, but not with Schannel. The
problem here is that I don't think there is any reasonable way of
fetching master_secret from Schannel and that makes it pretty much
unsable for EAP-TTLS. Schannel can be used for EAP-TLS (which I don't
remember whether I implemented yet in wpa_supplicant)  and EAP-PEAP, but
that's about it. When it is used, Schannel does indeed use Windows
certificate store for all certificates and the private key.

When used with OpenSSL, Windows support in wpa_supplicant is pretty much
complete, especially so with 0.5.x development branch that adds registry
and service support to the Windows version. As far as TLS interface is
concerned, OpenSSL wrapper has all the same functionality that on Linux
and in addition, private keys and client certificates can be used
through the OS certificate store. I haven't yet added support for using
certificate store for CA certificates, though.

Jouni Malinen                                            PGP id EFC895FA

More information about the HostAP mailing list