Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. International
  3. Italian
  4. Problemi con SSL e richieste HTTPS
Forum Update on Monday, May 27th 2025

Problemi con SSL e richieste HTTPS

Scheduled Pinned Locked Moved Unsolved Italian
2 Posts 2 Posters 316 Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A Offline
    A Offline
    AboutClod
    wrote on last edited by
    #1

    Ragazzi buonasera!

    Sto affrontando un grosso problema con OpenSSL e QNetworkAccessManager.
    Non che sia complicato, ma perchè proprio non riesco ad superarlo.

    Ho provato a creare una piccola applicazione per le richieste HTTPS, e quindi anche gestire eventuali errori, di comunicazione o di SSL.

    Questo è il codice:

            manager = new QNetworkAccessManager();
            manager->setProxy(QNetworkProxy::NoProxy);
    
            connect(manager,&QNetworkAccessManager::finished,this,&alfro::managerFinished);
    
            connect(manager,&QNetworkAccessManager::sslErrors,this,&alfro::ignorsa);
    
    
    
    
            
    
    
              QSslConfiguration cfg(QSslConfiguration::defaultConfiguration());
              cfg.setProtocol(QSsl::AnyProtocol);
    
              request.setSslConfiguration(cfg);
              request.setUrl(url);
    
              manager->get(request);
    

    Dove "Ignorsa" è lo slot che cattura il segnale "sslErrors" e invece "managerFinished" è lo slot che cattura il segnale "finished" quando è tutto ok.

    Il problema nasce quando l'unica risposta che mi ritorna è "QNetworkReply::SslHandshakeFailedError" con l'errorString "Handshake SSL non riuscito", ma proviene dallo slot managerFinished, sslErrors non viene emesso.

    Ho provato alcuni URL, alcuni presi proprio da badssl per cercare di farmi visualizzare gli errori, ma anche il mio server locale che ha il certificato scaduto mi ritorna la stessa risposta, con nessuna indicazione di quale sia precisamente l'errore SSL.

    Ad ogni modo, la cosa che mi fa uscire pazzo è che secondo la Documentazione quando la risposta va in "SSL Handshake failed error" il segnale sslErrors dovrebbe essere emesso, ma nel mio caso mai!

    Sto utilizzando Qt 5.12.6 LTS con OpenSSL 1.1.1b (Feb 2019).

    Idee?

    Grazie mille!!

    1 Reply Last reply
    0
    • VRoninV Offline
      VRoninV Offline
      VRonin
      wrote on last edited by
      #2

      Invece di connettere il manager, connetti la singola risposta cosi' puoi gestire anche il segnale error() che ti permette di catturare la fattispecie che ti interessa

      manager = new QNetworkAccessManager();
      manager->setProxy(QNetworkProxy::NoProxy);
      connect(manager,&QNetworkAccessManager::finished,this,&alfro::managerFinished);
      connect(manager,&QNetworkAccessManager::sslErrors,this,&alfro::ignorsa);
      QSslConfiguration cfg(QSslConfiguration::defaultConfiguration());
      cfg.setProtocol(QSsl::AnyProtocol);
      request.setSslConfiguration(cfg);
      request.setUrl(url);
      QNetworkReply* reply = manager->get(request);
      // signature alfro::managerFinished(QNetworkReply*)
      connect(reply,&QNetworkReply::finished,this,std::bind(&alfro::managerFinished,this,reply));
      // signature alfro::ignorsa(QNetworkReply*,const QList<QSslError>&)
      connect(reply,&QNetworkReply::sslErrors,this,std::bind(&alfro::ignorsa,this,reply, std::placeholders::_1));
      // signature alfro::manageErrors(QNetworkReply*,QNetworkReply::NetworkError)
      connect(reply,&QNetworkReply::error,this,std::bind(&alfro::manageErrors,this,reply, std::placeholders::_1));
      

      "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
      ~Napoleon Bonaparte

      On a crusade to banish setIndexWidget() from the holy land of Qt

      1 Reply Last reply
      0

      • Login

      • Login or register to search.
      • First post
        Last post
      0
      • Categories
      • Recent
      • Tags
      • Popular
      • Users
      • Groups
      • Search
      • Get Qt Extensions
      • Unsolved