[QGIS-it-user] Plugin cxf_in - errore accesso al database di georeferenzazione

Ciao Andrea, grazie per la risposta. Ho modificato il codice python. Sembra essere un errore di certificato SSL

Tuttavia dal browser riesco a loggarmi con le credenziali che ho (vengo riconosciuto come utente)

2021-11-17T11:15:54 WARNING Traceback (most recent call last):
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 1317, in do_open
encode_chunked=req.has_header(‘Transfer-encoding’))
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 1229, in request
self._send_request(method, url, body, headers, encode_chunked)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 1275, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 1224, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 1016, in _send_output
self.send(msg)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 956, in send
self.connect()
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\http\client.py”, line 1392, in connect
server_hostname=server_hostname)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\ssl.py”, line 412, in wrap_socket
session=session
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\ssl.py”, line 850, in _create
self.do_handshake()
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\ssl.py”, line 1108, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: Hostname mismatch, certificate is not valid for ‘www.prgcloud.com’. (_ssl.c:1045)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:/Users/Pc/AppData/Roaming/QGIS/QGIS3\profiles\Ludovico/python/plugins\Cxf_in\catdialog.py”, line 329, in connectgeodb
with contextlib.closing(urllib.request.urlopen(req)) as x:
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 222, in urlopen
return opener.open(url, data, timeout)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 525, in open
response = self._open(req, data)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 543, in _open
‘_open’, req)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 503, in _call_chain
result = func(*args)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 1360, in https_open
context=self._context, check_hostname=self._check_hostname)
File “C:\PROGRA~1\QGIS3~1.10\apps\Python37\lib\urllib\request.py”, line 1319, in do_open
raise URLError(err)
urllib.error.URLError:

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File “C:/Users/Pc/AppData/Roaming/QGIS/QGIS3\profiles\Ludovico/python/plugins\Cxf_in\catdialog.py”, line 334, in connectgeodb
except urllib.error.URLError as err:
AttributeError: module ‘urllib’ has no attribute ‘URLError’

In effetti il certificato SSL del sito Web è stato aggiornato due giorni fa (validità dal 15 novembre 2021).

Se riscontri il problema da due giorni, è molto probabile che dipenda proprio da questo: è probabile che i certificati digitali degli enti certificatori, che certificano la catena di validità del certificato SSL del sito, non sono fra quelli usati nel tuo sistema da QGIS.

Io comunque ho provato ora a connettermi con il mio nome utente e password tramite il menu "Carica DXF su DB SpatiaLite" / "Registrazione utente per georeferenziazione" / "Connessione al server di georeferenziazione" senza alcun problema. Non ho però provato ad effettuare altre operazioni non avendo file DXF di fogli di mappa catastale.

Potresti provare a contattare l'autore del plugin oppure provare a "pulire" la cache di rete di QGIS oppure a sostituire il file dei certificati usato da QGIS con uno aggiornato presente all'URL https://curl.se/docs/caextract.html

Dovresti poter verificare qual è il file dei certificai usati da QGIS tramite:

import certifi; certifi.where()

oppure:

from requests.utils import DEFAULT_CA_BUNDLE_PATH; print(DEFAULT_CA_BUNDLE_PATH)

Comunque non capisco perchè il log riporti sempre l'errore AttributeError: module 'urllib' has no attribute 'URLError'. Forse nel codice ci sono altre parti in cui viene usato urllib.URLError invece di urllib.error.URLError.

A presto.

Andrea

Il 17/11/2021 11:17, Ludovico Frate ha scritto:

Ciao Andrea, grazie per la risposta. Ho modificato il codice python. Sembra essere un errore di certificato SSL

Tuttavia dal browser riesco a loggarmi con le credenziali che ho (vengo riconosciuto come utente)