-
-
Notifications
You must be signed in to change notification settings - Fork 31.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
RESTful sensors fail to update from HTTPS servers that do not support secure renegotiation since 2023.5.0 when underling OS is using openssl 3+ #92500
Comments
Hey there @epenet, mind taking a look at this issue as it has been labeled with an integration ( Code owner commandsCode owners of
(message by CodeOwnersMention) rest documentation |
Can you please share your config, in particular cc @mib1185 who worked recently on adding some SSL options. |
@epenet I've added an example config snippet to the description (scraping bin collection dates from my council website). I've got SSL verification turned on (the default) and am also using the default cipher list. For this use case I'd be happy enough not doing verification FWIW but as I understand it the issue at play relates to RFC 5746 and mitigation of it in the latest versions of Python/OpenSSL. |
unsafe legacy renegotiation has been disabled with OpenSSL 3.0.0 (see openssl/openssl@72d2670) |
@mib1185 I'm not sure quite how the release pipeline works overall but I suspect it came in with the bump to alpine 3.17 in home-assistant/docker#268 Would it be possible to add an option to the integration to allow the behaviour? It feels like that would be the safest option as it seems sensible to make it opt-in only on a case-by-case basis. |
You're right, alpine 3.17 switched to openssl 3.0. |
They decided not to back port the option in cpython elk won't be upgrading their SSL support any time soon so the solution for that problem is here gwww/elkm1#69 |
I guess the question is: how do we make this available to the user in REST? |
From the user perspective I'd initially imagined a new |
this is the plan ... will work on it next few days |
@trvrnrth could you please provide the server hostname (no need for the whole URL) so I can test the new option during development |
@mib1185 Sure. I didn't really need to redact that bit. It's https://www.bathnes.gov.uk |
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
This comment was marked as off-topic.
Not sure if it's related, but my Rest sensor (MELCloud, heat pump API), which worked perfectly, also stopped working after the HA update (to HA 2023.5.2, supervisor: 2023.04.). URL: |
@trozman That will likely be something different. You can see the servers backing that endpoint support secure renegotiation in these SSL labs scan results. |
hi any new on this problem ? still |
@Mattwmaster58, as per your workaround suggestion, issuing the command |
I have the same problem. I need to issue the following curl command but I get: here is my command:
the parsed result should be This command is working fine on my other computers. |
@mib1185 could you give a new milestone? |
@trvrnrth Coincidently I have just tried to do the exact same thing using the BANES website and found this because I had the same error. As a (hopefully short-term) workaround until the BANES website is updated or a HA change is implemented, I have created a Python script to fetch the data and push to home assistant using a HTTP sensor instead. https://github.com/cdevrell/BinDayChecker These lines in the script workaround the problem:
|
@cdevrell In case it's of interest to you (or anyone else who stumbles across this with particular reference to BANES bin collection) I contributed mampfes/hacs_waste_collection_schedule#1015 and have been using that integration in the meantime. |
any update on this? |
Still an issue. |
Any update on this? Is it working again? Got the same problem but I'm not sure if it's because of HA or my technical skills ;) |
It became an issue after a HA update but the actual root cause is the HTTPS server is insecure. |
So still an issue on your side right? Any workarounds? |
No, the HTTPS server needs upgrading. Run the website through the check here and post the result - https://www.ssllabs.com/ssltest/ |
Ahh okay my fault. Missed the detail about the external url :/. Faced the same issue with my KNX server, then I have to check my config again. Thanks for your fast reply! |
Is this solved? |
There hasn't been any activity on this issue recently. Due to the high number of incoming GitHub notifications, we have to clean some of the old issues, as many of them have already been resolved with the latest updates. |
The problem
Since updating to 2023.5.0 (running under Home Assistant Operating System) updates to sensors which consume from a server that does not support secure renogiation fail.
I do not have any control over the external server so cannot make it conformant.
What version of Home Assistant Core has the issue?
core-2023.5.0
What was the last working version of Home Assistant Core?
core-2023.4.6
What type of installation are you running?
Home Assistant OS
Integration causing the issue
RESTful
Link to integration documentation on our website
https://www.home-assistant.io/integrations/rest/
Diagnostics information
No response
Example YAML snippet
Anything in the logs that might be useful for us?
Additional information
It might make sense to add the ability to allow this on a per-resource basis. I believe the option required on the SSL context is as follows:
The text was updated successfully, but these errors were encountered: