[qt] QSslSocket i problem z połączeniem

Załączam całe obydwa programy. Mam problem z zaszyfrowaniem połączenia między klientem a serwerem(tworzone w QtCreator 2.0). Klasa po stronie serwera:

include "polaczeniessl.h"


PolaczenieSSL::PolaczenieSSL(QWidget *parent)

{


}

PolaczenieSSL::~PolaczenieSSL()

{


}

void PolaczenieSSL::incomingConnection(int socketDescriptor)

{

    serverSocket = new QSslSocket(this);

    connect(serverSocket,SIGNAL(encrypted()), this, SLOT(gotowy()));

    connect(serverSocket,SIGNAL(stateChanged(QAbstractSocket::SocketState)),SLOT(stany(QAbstractSocket::SocketState)));

    connect(serverSocket,SIGNAL(error(QAbstractSocket::SocketError)),this,SLOT(bledy(QAbstractSocket::SocketError)));

    connect(serverSocket,SIGNAL(sslErrors(QList)),this,SLOT(bledySSL(QList)));

    connect(serverSocket,SIGNAL(modeChanged(QSslSocket::SslMode)),this,SLOT(mode(QSslSocket::SslMode)));

    connect(serverSocket,SIGNAL(peerVerifyError(QSslError)),this,SLOT(bladPeer(QSslError)));

    serverSocket->setProtocol(QSsl::AnyProtocol);


    QFile *file = new QFile("server.key");

    QSslKey key(file, QSsl::Rsa, QSsl::Pem, QSsl::PrivateKey, "server");

    serverSocket->setPrivateKey(key);

    serverSocket->setLocalCertificate("server.crt");

    serverSocket->addCaCertificates("/etc/ssl/certs");


    if (serverSocket->setSocketDescriptor(socketDescriptor))

    {

        serverSocket->startServerEncryption();

    }

    else

    {

        delete serverSocket;

    }


}


void PolaczenieSSL::gotowy()

{

    qDebug()<<"gotowy";

}

void PolaczenieSSL::stany(QAbstractSocket::SocketState state)

{

    qDebug()<<"Stan: "<
}

void PolaczenieSSL::bledy(QAbstractSocket::SocketError err)

{

    qDebug() << "Blad: " << err;

}

void PolaczenieSSL::bledySSL(QList l)

{

    for(int i=0;i
    {

        qDebug()<<"BladSSL: "<
    }

}

void PolaczenieSSL::mode(QSslSocket::SslMode s)

{

    qDebug()<<"Mode: "<
}

void PolaczenieSSL::bladPeer(QSslError b)

{

    qDebug()<<"PeerBlad: "<
}[/code]




wynik dla serwera:

[code]Stan: QAbstractSocket::ConnectedState Mode: 2 Blad: QAbstractSocket::SocketError( 13 ) Stan: QAbstractSocket::UnconnectedState
wynik dla klient:

Stan: QAbstractSocket::HostLookupState 

Stan: QAbstractSocket::ConnectingState 

Stan: QAbstractSocket::ConnectedState 

Mode: 1 

Blad: QAbstractSocket::RemoteHostClosedError 

Stan: QAbstractSocket::ClosingState 

Stan: QAbstractSocket::UnconnectedState

http://www.speedyshare.com/files/23565317/pliki.zip