seveas / python-hpilo

Accessing the HP iLO XML interface from python
https://seveas.github.io/python-hpilo
Other
321 stars 102 forks source link

Compatibility issues with Python3.12: SSL: WRONG_SIGNATURE_TYPE #294

Closed syphernl closed 4 months ago

syphernl commented 5 months ago

After upgrading Python from 3.11 to 3.12 this library is not longer functioning properly (in HomeAssistant):

2024-04-03 13:29:03.682 ERROR (MainThread) [homeassistant.components.sensor] hp_ilo: Error on device update!
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 404, in _get_socket
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/homeassistant/components/hp_ilo/sensor.py", line 166, in update
    ilo_data = getattr(self.hp_ilo_data.data, self._ilo_function)()
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 1045, in get_embedded_health
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 739, in _info_tag
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 238, in _request
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 278, in _detect_protocol
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 410, in _communicate
  File "/opt/pyenv/versions/3.12.2/envs/hass/lib/python3.12/site-packages/hpilo.py", line 407, in _get_socket
hpilo.IloCommunicationError: Cannot establish ssl session with 10.9.8.7:443: [SSL: WRONG_SIGNATURE_TYPE] wrong signature type (_ssl.c:1000)

OS: Alpine 3.19.1 / Python 3.12.2 (via pyenv) iLO 4

Installed deps relating to ssl:

libressl-dev
libressl3.8-libcrypto
libressl3.8-libssl
libressl3.8-libtls
libssl3
openssl-dev
ssl_client
syphernl commented 4 months ago

Due to this issue (and another integration with similar problems) I have decided to migrate to HAOS instead. After this everything is working fine again so I guess we can consider this issue resolved.