-
Notifications
You must be signed in to change notification settings - Fork 13.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WiFiClientSecure verify fingerprint problem #2749
Comments
I have been playing with this quite a bit more and now can get the fingerprint to verify for port 443 successfully. I had to add RC4-SHA and remove !RC4 from my apache Cipher suites configuration. In my Arduino code, I enabled debug output by adding the following When I run my test code on port 443, if the certificates match, I have success. I have included a copy of my code with obvious things altered/obscured for security purposes.
|
BearSSL is merged in #4273 , with alternate BearSSL::WiFi* classes. Although axtls-based classes are still available and even the default, they are planned for deprecation and then retirement, hence won't be fixed. Any issues with BearSSL-based classes should be reported in new issues. |
Basic Infos
Unable to get the fingerprint verify to run successfully on my server, but works ok using the adafruit server.
Description
I believe the problem is due to my server not supporting the appropriate cipher suite that is supported by from what I can tell axTLS.
Using openSSL or my web browser, I can obtain the fingerprint and they both match.
I believe I need to edit my servers Apache config to allow RSA with AES128, but have been unable to find what ciphers are supported in ESP8266 Arduino core.
I am using WHM on a CentOS VPS, so it's quite easy to edit the cipher list, I just need to know what to add/delete/edit.
Currently my servers SSL Cipher Suite is as follows;
ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA
It specifically shows that RC4 is NOT allowed.
The SSL/TLS protocol setting is as follows;
All -SSLv2 -SSLv3
Which means all V1 variants are supported (1.0, 1.1, 1.2). Do I need to remove/edit this also?
Additionally, when you perform the actual fingerprint verify, there is no option for a port, just the address; Is the port 'inferred' from the client connect command? I ask this as my MQTT broker uses different certificates on port 8883 than the web server.
Is there a way to view the fingerprint received when performing the fingerprint verify? It would help if possible to see what is actually being returned from the server.
Thanks in advance.
The text was updated successfully, but these errors were encountered: