1
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:html="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
2
<title>WPA - OpenSC - Trac</title><style type="text/css">
4
</style></head><body><div class="wikipage">
5
<div id="searchable"><h1 id="Wirelessauthentication">Wireless authentication</h1>
7
Wireless network used to be protected by the WEP standard, but WEP turned out to be insecure and thus useless.
8
These days wireless networks are usualy protected using WPA - Wi-Fi Protected Access.
11
Unfortunatly WPA is available in several flavors and versions, see
12
the <a class="ext-link" href="http://www.wi-fi.org/OpenSection/protected_access.asp" shape="rect"><span class="icon">Wi-Fi Alliance website</span></a> for details.
15
If your wireless network is set up to ask for authentication using client certificates,
16
then you can use it with those certificates and keys on your smart card.
19
For windows the windows build in WPA client should work well, if you have a CSP installed that works with OpenSC.
20
This is untested, please report your results.
23
For linux you can use the <a class="ext-link" href="http://hostap.epitest.fi/wpa_supplicant/" shape="rect"><span class="icon">WPA Supplicant</span></a> or <a class="ext-link" href="http://www.open1x.org/" shape="rect"><span class="icon">Xsupplicant</span></a> with OpenSC.
24
The support for smart cards is implemented in both via the <a href="http://www.opensc-project.org/engine_pkcs11/" shape="rect">PKCS#11 Engine for OpenSSL</a>.
26
<h2 id="WPASupplicant">WPA Supplicant</h2>
28
To use WPA Suppplicant with smart card authentication you need to compile it with smart card support. Your config file should include this line:
30
<pre class="wiki" xml:space="preserve"># Smartcard support (i.e., private key on a smartcard), e.g., with openssl
34
Also you need to edit wpa_supplicant.conf like this:
36
<pre class="wiki" xml:space="preserve"># OpenSSL Engine support
37
# These options can be used to load OpenSSL engines.
38
# make the pkcs11 engine available
39
pkcs11_engine_path=/usr/lib/engine/engine_pkcs11.so
40
# configure the path to the pkcs11 module required by the pkcs11 engine
41
pkcs11_module_path=/usr/lib/engine/opensc-pkcs11.so
42
</pre><h2 id="XSupplicant">X Supplicant</h2>
44
It looks like xsupplicant is always compiled with smart card support.
47
To enable it, edit the xsupplicant.conf config file and look for lines
50
<pre class="wiki" xml:space="preserve"> # this section configures the smartcard used with eap-tls
51
# for now the smartcard PIN is handled the same way as the
52
# password for a private key
54
# this line actually enables the smartcard and makes xsupplicant use
57
# set the path to the engine
58
opensc_so_path = "/usr/lib/engine/engine_pkcs11.so"
59
# set the key id on the smartcard
63
FIXME: someone should test this and check if it works as advertised.
66
</div><div class="footer"><hr></hr><p><a href="index.html">Back to Index</a></p></div></body></html>