5.1 Example 1 - Connecting ATWINC to TLS Secured AP
The EAP-TLS authentication is based on the 802.1x/EAP architecture. The 802.1x/EAP
authentication process involves the following components:
- Supplicant (ATWINC)
- Authenticator (wireless access point configured for Enterprise security)
- Authentication server (RADIUS server or PC with FreeRADIUS or Hostapd installed)
- In Atmel Studio, open the WINC1500_SECURITY_ENTERPRISE_NETWORK_TLS_EXAMPLE project.
- Configure and run the FreeRADIUS or hostapd server (see Configuring a Hostapd Server and Configuring a FreeRADIUS Server).
- Provide the macro MAIN_WLAN_802_1X_USR_NAME (EAP username).
- Flash the root certificate to the ATWINC. For more details, see Generating Certificates using
openssl
. Ensure that the firmware and the host driver are both version v19.6.1 or above. - For Client authentication, download
the Client private key (
winc_client_private.key
) and Client certificate (winc_client_private.crt
) to the ATWINC. For this, decode the certificate and key files using scriptkey_decoder.py
and load the files through the example code.- The decoder script is located
at
src\script\key_decoder.py
. Rename the server certificate and key files todemo_rsa.crt
anddemo_rsa.key
because the script assumes these file names are input. - Run
key_decoder.py
to generate theprivateKey_decoded.txt
file. - Replace the modulus, exponent
and certificate arrays of
main.h
with the respectiveprivateKey_decoded.txt
arrays. Verify the length of the arrays.
- The decoder script is located
at
- Configure the SSID by editing the
macro
MAIN_WLAN_SSID
in the project. - Configure and run the FreeRADIUS or hostapd server (see Configuring a Hostapd Server and Configuring a FreeRADIUS Server).
- Load the example project.
Note: The
key_decoder.py
Python® script requires the pycrypto package, which depends on Visual
C++® 9. Therefore, install the Visual C++ 9 using the following steps:- Go to the link aka.ms/vcpython27 and install the pycrypto package.
- Enter the pip install pycrypto command.