source: ntrip/trunk/BNC/src/bncsslconfig.cpp@ 9789

Last change on this file since 9789 was 9756, checked in by stuerze, 2 years ago

minor changes

File size: 2.0 KB
Line 
1/* -------------------------------------------------------------------------
2 * BKG NTRIP Client
3 * -------------------------------------------------------------------------
4 *
5 * Class: bncSslConfig
6 *
7 * Purpose: Singleton Class that inherits QSslConfiguration class
8 *
9 * Author: L. Mervart
10 *
11 * Created: 22-Aug-2011
12 *
13 * Changes:
14 *
15 * -----------------------------------------------------------------------*/
16
17#include <iostream>
18
19#include <QApplication>
20#include <QDir>
21#include <QStringList>
22
23#include "bncsslconfig.h"
24#include "bncsettings.h"
25
26
27// Singleton
28////////////////////////////////////////////////////////////////////////////
29bncSslConfig bncSslConfig::instance() {
30 static bncSslConfig _sslConfig;
31 return _sslConfig;
32}
33
34// Constructor
35////////////////////////////////////////////////////////////////////////////
36bncSslConfig::bncSslConfig() :
37 QSslConfiguration(QSslConfiguration::defaultConfiguration())
38{
39
40 bncSettings settings;
41 QString dirName = settings.value("sslCaCertPath").toString();
42 if (dirName.isEmpty()) {
43 dirName = defaultPath();
44 }
45
46 QList<QSslCertificate> caCerts = this->caCertificates();
47
48 // Bug in Qt: the wildcard does not work here:
49 // -------------------------------------------
50 // caCerts += QSslCertificate::fromPath(dirName + QDir::separator() + "*crt",
51 // QSsl::Pem, QRegExp::Wildcard);
52 QDir dir(dirName);
53 QStringList nameFilters;
54 nameFilters << "*.crt";
55 nameFilters << "*.pem";
56 QStringList fileNames = dir.entryList(nameFilters, QDir::Files);
57 QStringListIterator it(fileNames);
58 while (it.hasNext()) {
59 QString fileName = it.next();
60 caCerts += QSslCertificate::fromPath(dirName+QDir::separator()+fileName);
61 }
62
63 this->setCaCertificates(caCerts);
64}
65
66// Destructor
67////////////////////////////////////////////////////////////////////////////
68bncSslConfig::~bncSslConfig() {
69}
70
71// Destructor
72////////////////////////////////////////////////////////////////////////////
73QString bncSslConfig::defaultPath() {
74 return "/etc/ssl/certs/";
75}
76
Note: See TracBrowser for help on using the repository browser.