From 0bc17b0852c5ba29b6f78ce7b9ee1d7251c2ba42 Mon Sep 17 00:00:00 2001 From: Stephen Birarda Date: Thu, 24 Apr 2014 14:35:18 -0700 Subject: [PATCH] hand certificate and private key to QSslSocket instances --- libraries/embedded-webserver/src/HTTPConnection.cpp | 2 +- libraries/embedded-webserver/src/HTTPSConnection.cpp | 2 +- libraries/embedded-webserver/src/HTTPSManager.cpp | 3 +++ 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/libraries/embedded-webserver/src/HTTPConnection.cpp b/libraries/embedded-webserver/src/HTTPConnection.cpp index f8fcc097f2..a6eb391138 100755 --- a/libraries/embedded-webserver/src/HTTPConnection.cpp +++ b/libraries/embedded-webserver/src/HTTPConnection.cpp @@ -42,7 +42,7 @@ HTTPConnection::HTTPConnection (QTcpSocket* socket, HTTPManager* parentManager) HTTPConnection::~HTTPConnection() { // log the destruction if (_socket->error() != QAbstractSocket::UnknownSocketError) { - qDebug() << _socket->errorString(); + qDebug() << _socket->errorString() << "-" << _socket->error(); } } diff --git a/libraries/embedded-webserver/src/HTTPSConnection.cpp b/libraries/embedded-webserver/src/HTTPSConnection.cpp index 00f95fb0b5..54893d91c2 100644 --- a/libraries/embedded-webserver/src/HTTPSConnection.cpp +++ b/libraries/embedded-webserver/src/HTTPSConnection.cpp @@ -14,7 +14,7 @@ HTTPSConnection::HTTPSConnection(QSslSocket* sslSocket, HTTPSManager* parentManager) : HTTPConnection(sslSocket, parentManager) { - connect(sslSocket, SIGNAL(sslErrors(const QList&)), this, SLOT(sslErrors(const QList&))); + connect(sslSocket, SIGNAL(sslErrors(const QList&)), this, SLOT(handleSSLErrors(const QList&))); sslSocket->startServerEncryption(); } diff --git a/libraries/embedded-webserver/src/HTTPSManager.cpp b/libraries/embedded-webserver/src/HTTPSManager.cpp index 575a52fac9..0f5b94de64 100644 --- a/libraries/embedded-webserver/src/HTTPSManager.cpp +++ b/libraries/embedded-webserver/src/HTTPSManager.cpp @@ -27,6 +27,9 @@ HTTPSManager::HTTPSManager(quint16 port, const QSslCertificate& certificate, con void HTTPSManager::incomingConnection(qintptr socketDescriptor) { QSslSocket* sslSocket = new QSslSocket(this); + sslSocket->setLocalCertificate(_certificate); + sslSocket->setPrivateKey(_privateKey); + if (sslSocket->setSocketDescriptor(socketDescriptor)) { new HTTPSConnection(sslSocket, this); } else {