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.pyand 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.crtanddemo_rsa.keybecause the script assumes these file names are input. - Run
                            
key_decoder.pyto generate theprivateKey_decoded.txtfile. - Replace the modulus, exponent
                        and certificate arrays of 
main.hwith the respectiveprivateKey_decoded.txtarrays. Verify the length of the arrays. 
 - The decoder script is located
                            at
 - Configure the SSID by editing the
                macro 
MAIN_WLAN_SSIDin 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.
 
