Thanks.
I've created slots for all such signals of QSslSocket and connected them in the QJsonRpcHttpServer::incomingConnection() function.
The output on server side is a simple modechange to 2 (QSslSocket::SslServerMode) and then the socket gets disconnected. In backtrace I see:
0 QJsonRpcHttpServerPrivate::_q_socketDisconnected() qjsonrpchttpserver.cpp 345 0x100029810
1 QJsonRpcHttpServer::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) moc_qjsonrpchttpserver.cpp 98 0x100029983
2 QMetaObject::activate(QObject*, int, int, void**) QMetaObject::activate(QObject*, int, int, void**) 0x1004797ab
3 QSslSocket::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) QSslSocket::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) 0x10014126b
4 QMetaObject::activate(QObject*, int, int, void**) QMetaObject::activate(QObject*, int, int, void**) 0x1004797ab
5 QAbstractSocket::disconnectFromHost() QAbstractSocket::disconnectFromHost() 0x1001215cc
6 QAbstractSocket::close() QAbstractSocket::close() 0x1001212e5
7 QSslSocket::abort() QSslSocket::abort() 0x10013cd1e
8 QSslSocketBackendPrivate::startHandshake() QSslSocketBackendPrivate::startHandshake() 0x10014a8b4
9 QSslSocketBackendPrivate::transmit() QSslSocketBackendPrivate::transmit() 0x10014b7d8
...
So there is some problem with the handshake, but I get no ssl error (signal not emited).