X-Git-Url: https://git.quassel-irc.org/?p=quassel.git;a=blobdiff_plain;f=src%2Fcore%2Fnetworkconnection.cpp;fp=src%2Fcore%2Fnetworkconnection.cpp;h=c74dc4ef05ddb0457f31116edfed82b0ca5ed814;hp=3d9fcc73c18dff8defef76c5130b7999c3195384;hb=e91445dfdb33704e5daafa8631bc9a1419251c1c;hpb=2f953e817b56e8dfd3770b2109b3a81b0854f3a8 diff --git a/src/core/networkconnection.cpp b/src/core/networkconnection.cpp index 3d9fcc73..c74dc4ef 100644 --- a/src/core/networkconnection.cpp +++ b/src/core/networkconnection.cpp @@ -91,6 +91,23 @@ NetworkConnection::NetworkConnection(Network *network, CoreSession *session) connect(network, SIGNAL(autoReconnectRetriesSet(quint16)), this, SLOT(autoReconnectSettingsChanged())); #ifndef QT_NO_OPENSSL + { + QFile certFile(quasselDir().absolutePath() + "/quasselClientCert.pem"); + certFile.open(QIODevice::ReadOnly); + QSslCertificate cert(&certFile); + certFile.close(); + + certFile.open(QIODevice::ReadOnly); + QSslKey key(&certFile, QSsl::Rsa); + certFile.close(); + + if ( !cert.isNull() && cert.isValid() && + !key.isNull() ) { + socket.setLocalCertificate(cert); + socket.setPrivateKey(key); + } + } + connect(&socket, SIGNAL(encrypted()), this, SLOT(socketEncrypted())); connect(&socket, SIGNAL(sslErrors(const QList &)), this, SLOT(sslErrors(const QList &))); #endif