/* ------------------------------------------------------------------------- * BKG NTRIP Client * ------------------------------------------------------------------------- * * Class: bncSslConfig * * Purpose: Singleton Class that inherits QSslConfiguration class * * Author: L. Mervart * * Created: 22-Aug-2011 * * Changes: * * -----------------------------------------------------------------------*/ #include #include #include #include #include "bncsslconfig.h" #include "bncsettings.h" // Singleton //////////////////////////////////////////////////////////////////////////// bncSslConfig bncSslConfig::instance() { static bncSslConfig _sslConfig; return _sslConfig; } // Constructor //////////////////////////////////////////////////////////////////////////// bncSslConfig::bncSslConfig() : QSslConfiguration(QSslConfiguration::defaultConfiguration()) { bncSettings settings; QString dirName = settings.value("sslCaCertPath").toString(); if (dirName.isEmpty()) { dirName = defaultPath(); } QList caCerts = this->caCertificates(); QDir dir(dirName); QStringList nameFilters; nameFilters << "*.crt"; nameFilters << "*.pem"; QStringList fileNames = dir.entryList(nameFilters, QDir::Files); QStringListIterator it(fileNames); while (it.hasNext()) { QString fileName = it.next(); caCerts += QSslCertificate::fromPath(dirName+QDir::separator()+fileName); } this->setCaCertificates(caCerts); } // Destructor //////////////////////////////////////////////////////////////////////////// bncSslConfig::~bncSslConfig() { } // Destructor //////////////////////////////////////////////////////////////////////////// QString bncSslConfig::defaultPath() { return "/etc/ssl/certs/"; }