Get the TCP server running with SSL encryption all the time now (TLS1.2)

This commit is contained in:
Ken Moore
2016-01-08 12:07:17 -05:00
parent b2a2342f95
commit ba654808db
3 changed files with 34 additions and 9 deletions

View File

@@ -40,6 +40,12 @@ WebSocket::WebSocket(QSslSocket *sock, QString ID, AuthorizationManager *auth){
connect(idletimer, SIGNAL(timeout()), this, SLOT(checkIdle()) );
connect(TSOCKET, SIGNAL(readyRead()), this, SLOT(EvaluateTcpMessage()) );
connect(TSOCKET, SIGNAL(aboutToClose()), this, SLOT(SocketClosing()) );
connect(TSOCKET, SIGNAL(encrypted()), this, SLOT(nowEncrypted()) );
connect(TSOCKET, SIGNAL(peerVerifyError(const QSslError &)), this, SLOT(peerError(const QSslError &)) );
connect(TSOCKET, SIGNAL(sslErrors(const QList<QSslError> &)), this, SLOT(SslError(const QList<QSslError> &)) );
qDebug() << " - Starting Server Encryption Handshake";
TSOCKET->startServerEncryption();
//qDebug() << " - Socket Encrypted:" << TSOCKET->isEncrypted();
idletimer->start();
}
@@ -68,6 +74,7 @@ void WebSocket::setLastDispatch(QString msg){
// PRIVATE
//=======================
void WebSocket::sendReply(QString msg){
qDebug() << "Sending Socket Reply";
if(SOCKET!=0){ SOCKET->sendTextMessage(msg); } //Websocket connection
else if(TSOCKET!=0){
//TCP Socket connection
@@ -223,8 +230,6 @@ void WebSocket::EvaluateRequest(const RestInputStruct &REQ){
}
//Return any information
this->sendReply(out.assembleMessage());
/*if(SOCKET!=0){ SOCKET->sendTextMessage(out.assembleMessage()); }
else if(TSOCKET!=0){ TSOCKET->write(out.assembleMessage().toUtf8().data()); }*/
}
// === GENERAL PURPOSE UTILITY FUNCTIONS ===
@@ -316,6 +321,20 @@ void WebSocket::EvaluateTcpMessage(){
qDebug() << " - Done with TCP Message";
}
//SSL signal handling
void WebSocket::nowEncrypted(){
//the socket/connection is now encrypted
qDebug() << "Socket now connected";
}
void WebSocket::peerError(const QSslError&){ //peerVerifyError() signal
qDebug() << "Peer Error:";
}
void WebSocket::SslError(const QList<QSslError> &err){ //sslErrors() signal
qDebug() << "SSL Errors:" << err.length();
}
// ======================
// PUBLIC SLOTS
// ======================