-
Notifications
You must be signed in to change notification settings - Fork 4.8k
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
MQTT TLS Verify Fingerprint Fail with Core 2.5.0 #4952
Comments
Are you using latest version from today of the core 2.5.0? The core 2.5.0 is in beta. It is not released yet and it is in constant updating. |
Please, try the latest core. Remember that platform.io don't sync with the files from the repository. So, you have to manually copy and paste the files. (this is due to the core is still in development) You are testing the edge versions of everything, so it can fail. |
For latest stage core (many issues fixed since beta2) change
|
I think PR #4703 may bear reference |
@ascillato2: I have core 2.5.0 from few days ago. Visual Studio Code download if using git. I will try today to remove core and download it again. Should I take it from: https://github.com/Jason2866/platform-espressif8266.git#Tasmota? @Jason2866: I will change to stage and also remove it before, to download new one. Also, should I take it from: https://github.com/platformio/platform-espressif8266.git#feature/stage? |
You should take the core directly from the source in arduino repository (https://github.com/esp8266/Arduino). There, is the latest version and also the install instructions. The other 2 repositories you say are old copies and may not work as they don't have latest fixes. |
That only depends on the device you are using. The default works fine. |
I follow the instrucion Using Arduino Framework with Staging version. Updated the Core to newest version. And it still not working.
|
Ok, thanks for testing and reporting 👍 |
Could this today merged PR maybe fix it? |
I will check it today. |
This PR #4967 use MDNS_HOSTNAME.
If I don't define MDNS_HOSTNAME it will check fingerprintX with Settings.mqtt_host, otherwise with MDNS_HOSTNAME . That's all. And I want to use of USE_MQTT_TLS_CA_CERT. In Core 2.5.0 TLS verification doesn't work either with USE_MQTT_TLS_CA_CERT, nor with USE_MQTT_TLS only. |
@majherek Open a issue in https://github.com/esp8266/Arduino with a example sketch. |
@fmeies Can you please confirm if this is core issue or use case issue since you made the original PR? Thanks |
@andrethomas I think we can rule out #4703. With this PR an option for verifying against a root certificate has been introduced as an alternative to checking fingerprints but according to the comments and the log output this new option (USE_MQTT_TLS_CA_CERT) is not used in this case. |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
@fmeies I use USE_MQTT_TLS_CA_CERT in this case. But this problem exists both using USE_MQTT_TLS_CA_CERT and without using USE_MQTT_TLS_CA_CERT (using mqttfingerprint1 and mqttfingerprint2). And it exists on Core 2.5.0 (with Core 2.4.2 everything is OK).
I will open issue on https://github.com/esp8266/Arduino |
Is this related? |
I don't think so... |
I open an issue #5680 |
I was facing this issue right after Christmas when I've updated my 30+ devices to firmware based on Tasmota v6.4.1 with Arduino Core 2.5.0 beta 2. After few hour troubleshooting and deep dive into Arduino sources, I've found that the root cause is change of default TLS implementation in Arduino Core from legacy AxTLS to new BearTLS. Initially, I've changed Tasmota to work with new BearTLS, however this was not good as BearTLS implementation requires much more memory causing issues with OTA upgrades which I need. Thus, finally I've updated Tasmota to use legacy AxTLS. Here is diff you need apply to your Tasmota v6.4.1 code:
At the moment, there is Arduino Core 2.5.0 beta 3, but I haven't found there any optimization around BearTLS. Maybe in the future, it will be usable. |
@majherek |
Hi, Closing issue as there is no feedback. Please, when you have time, tell us if your issue is solved. Thanks. |
Please open it again, I will check it on weekend, because now I am on delegation. What can I do about this... |
@Jason2866 Still the same. I use now 2.5.0_BETA3. I saw some changes in support_wifi.ino made by @arendst, but commented out, similar to that made by @sislakd in this issue. @sislakd Thanks ;-) I use your diff and it works perfectly (after change to BETA3 in my case).
|
Hi, I can confirm this issue persists with 2.5.0 final. I am having WiFi stability issues with 2.3 and 2.4.2 so am desperate to try 2.5 but I am suffering the TLS fingerprint issues detailed above |
A quick hack is to set |
Describe the bug
Using the same configuration in my_user_config.h Tasmota 6.4.1.9 on Core 2.4.2 can verify MQTT TLS Cert and work well. The same tasmota compiled with Core 2.5.0 (https://github.com/Jason2866/platform-espressif8266.git#Tasmota) can't verify cert.
It is weird, because in core 2.5.0 much more RAM is available compared to 2.4.2 (taken from Tasmota WIKI) - so I think IT IS NOT RAM ISSUE!!!
Also, make sure these boxes are checked [x] before submitting your issue - Thank you!
status 0
:Working STATUS 0 (core 2.4.2):
Not working Status 0 (core 2.5.0)
To Reproduce
Compilte Tasmota with MQTT TLS with commented out almost everything in config (I use only BMP and DS18b20). I can provide my_user_config.h.
Core 2.4.2:
Core 2.5.0
PlatformIO.ini file:
I found other closed issue with same problem. But why it is not working on Core 2.5.0?
The text was updated successfully, but these errors were encountered: