crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QSslSocket
512es
  опции профиля:
сообщение 3.12.2010, 12:24
Сообщение #1


Участник
**

Группа: Участник
Сообщений: 135
Регистрация: 31.10.2008
Пользователь №: 407

Спасибо сказали: 5 раз(а)




Репутация:   0  


QTcpServer + QSslSocket + QDataStream Ака threaded fortune server.
Пытаюсь прикрутить SSL.. Сгенерировал сертификаты для клиента и для сервера.

Клиент:
tcpSocket->setLocalCertificate("cert/client.crt");
tcpSocket->setPrivateKey("cert/client.key");
tcpSocket->connectToHostEncrypted("localhost",7879);
if (!tcpSocket->waitForEncrypted()) {
    qDebug() << tcpSocket->errorString();
    return;
}


Сервер:
tcpSocket->setPrivateKey("cert/servers.key");
tcpSocket->setLocalCertificate("cert/server.crt");
........................
void slotStateChanged(QAbstractSocket::SocketState state)
{
    switch((int)state) {
    case 3: //QAbstractSocket::ConnectedState
        tcpSocket->startServerEncryption();
        break;
........................
    default:
        qDebug() << "Unknown state! ftom" << userID << tcpSocket->peerAddress().toString() << state;
        break;
    }
}


И сигналы\слоты:
connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)), this, SLOT(slotSocketError(QAbstractSocket::SocketError)),Qt::DirectConnection);
connect(tcpSocket, SIGNAL(encrypted()), this, SLOT(socketEncrypted()));
connect(tcpSocket, SIGNAL(sslErrors(QList<QSslError>)), this, SLOT(sslErrors(QList<QSslError>)));



Что только не перепробовал.. В лучшем случае выдаётся ошибка QAbstractSocket::SocketError 13 (рукопожатия).

До sslErrors(QList<QSslError>) даже не доходит..

openssl установлен, проблемы в нём быть не должно. Qt собран с ssl.

Куда копать?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 5.12.2024, 7:45