diff --git a/core/merginapi.cpp b/core/merginapi.cpp index e751c9922..a2ded98ab 100644 --- a/core/merginapi.cpp +++ b/core/merginapi.cpp @@ -1887,6 +1887,27 @@ void MerginApi::pingMergin() request.setUrl( url ); QNetworkReply *reply = mManager->get( request ); +#ifndef QT_NO_SSL + connect( reply, &QNetworkReply::sslErrors, this, [url]( const QList &errors ) + { + CoreUtils::log( "URL attempting to access:", url.toString() ); + for ( const auto &error : errors ) + { + CoreUtils::log( "Error Description:", error.errorString() ); + // Get the certificate causing the error + QSslCertificate cert = error.certificate(); + if ( !cert.isNull() ) + { + CoreUtils::log( "Subject (Common Name):", cert.subjectInfo( QSslCertificate::CommonName ).join( "," ) ); + CoreUtils::log( "Issuer (Common Name):", cert.issuerInfo( QSslCertificate::CommonName ).join( "," ) ); + CoreUtils::log( "Organization:", cert.subjectInfo( QSslCertificate::Organization ).join( "," ) ); + CoreUtils::log( "Valid From:", cert.effectiveDate().toString() ); + CoreUtils::log( "Expires On:", cert.expiryDate().toString() ); + CoreUtils::log( "Fingerprint (SHA256):", cert.digest( QCryptographicHash::Sha256 ).toHex() ); + } + } + } ); +#endif CoreUtils::log( "ping", QStringLiteral( "Requesting: " ) + url.toString() ); connect( reply, &QNetworkReply::finished, this, &MerginApi::pingMerginReplyFinished ); }