I'm attempting to get a CC3200 to connect to a WPA2 enterprise WiFi network running FreeRADIUS, and does not require a User certificate. Upon installation, FreeRADIUS generates/provides a ca.pem certificate, which I have uploaded to the cert/ca.pem file on the CC3200. I am running the ent_wlan example code with:
eapParams.EapMethod = SL_ENT_EAP_METHOD_PEAP0_MSCHAPv2; g_SecParams.Type = SL_SEC_TYPE_WPA_ENT;
Yet, when I try connecting, the radius logs show:
[peap] <<< TLS 1.0 Alert [length 0002], fatal unknown_ca TLS Alert read:fatal:unknown CA TLS_accept: failed in SSLv3 read client certificate A rlm_eap: SSL error error:14094418:SSL routines:SSL3_READ_BYTES:tlsv1 alert unknown ca SSL: SSL_read failed inside of TLS (-1), TLS session fails.
The provided ca.pem file is already in base64 format, but includes several BEGIN and END sections. I believe I only need one of these sections, is that correct? I have tried two methods for transferring the provided ca.pem certificate into the correct format:
1. On the Linux machine running the following command:
openssl x509 -inform PEM -in /etc/freeradius/certs/ca.pem -outform PEM -out ca.cer
This gives a file with only a single BEGIN and END with the base64 string between. I notice that the line ends have only a Line Feed character.
2. On Windows, opening the full ca.pem file, Details tab -> Copy to File... -> Base-64 encoded X.509 (.CER) which provides exactly the same file (single BEGIN-END section) as the openssl command above, *except* now the line ends have both Carriage Return & Line Feed characters.
I have tried uploading each of these to the CC3200, however I get the same radius log error regardless of which one I upload.
My questions:
1) Which type of line ending does the CC3200 expect in the ca.pem file, or doesn't it matter?
2) Is SL_ENT_EAP_METHOD_PEAP0_MSCHAPv2 the version which requires a password but not user certificate, and SL_ENT_EAP_METHOD_PEAP1_MSCHAPv2 the version which requires a user certificate? If so, I should be using the PEAP0 version since I'm not using a user cert, correct? In this case I don't need a client.pem on the CC3200, right?
Thanks for any assistance you may be able to provide!