Code: Alles auswählen
QSslSocket socket;
socket.connectToHost("pop.web.de", 110);
socket.waitForReadyRead();
qDebug() << socket.readAll(); // Server greeting unwichtig
socket.write("STLS\r\n"); // start tsl befehl
socket.waitForBytesWritten();
socket.waitForReadyRead();
qDebug() << socket.readAll(); // OK TSL sollte nun beginnen
socket.setProtocol(QSsl::TlsV1);
socket.startClientEncryption();
if(!socket.waitForEncrypted(3000)){
qDebug() << socket.errorString();
}
Hier wird das definiert: http://tools.ietf.org/html/rfc2595
Dort steht das der TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA Cipher verfügbar sein muss. Aber unter supportedCiphers () hab ich ihn bei mir nicht gesehen.
Liegt das dran? Warum ist der nicht da, STARTTSL wird sogar in der qt doku bei startClientEncryption erwähnt, dann werden die doch den Cipher eingebaut haben.