Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

QSsl different behaviour in Linux and MacOS



  • Hello,
    I developed an application using QSsl sockets. Now, everything works fine when the client runs in a Linux environment, while it crashes on MacOS.

    This are the important LOCs in the client (unfortunately I cannot share much more):

    m_clientSocket->addCaCertificates(":/resources/certificates/rootCA.crt");
    m_clientSocket->setPeerVerifyMode(QSslSocket::VerifyPeer);
    

    If I set QSslSocket::VerifyNone instead everything works fine also on Mac. I don't think it is a problem related to the certificate format since it works fine on Linux. The certificate is self-signed.

    Capturing the traffic I found out that the TLS handshake finishes successfully, but right after the client sends a FIN message to the server. I think it is caused by something related to the certificate sent by the server, but I am not sure.
    Is there some additional step required on MacOS I am not aware of?
    Thanks


  • Lifetime Qt Champion

    Hi,

    Linux and macOS have two different backends hence the possible differences.

    What version of Qt are you using ?
    On what version of macOS ?

    Can you provide a minimal compilable example that shows that behaviour ?


Log in to reply