AusweisApp
Lade ...
Suche ...
Keine Treffer
TlsConfiguration.h
gehe zur Dokumentation dieser Datei
1
4
5#pragma once
6
7#include <QByteArrayList>
8#include <QJsonObject>
9#include <QList>
10#include <QSslCipher>
11#include <QSslConfiguration>
12#include <QSslEllipticCurve>
13#include <QStringList>
14
15
16class test_TlsConfiguration;
17
18
19namespace governikus
20{
21
22class SecureStorage;
23
24
26 : public QList<QSslCipher>
27{
28 public:
29 SslCipherList& operator +=(const QString& pCipherName);
30};
31
32
34 : public QList<QSslEllipticCurve>
35{
36 public:
37 SslEllipticCurveVector& operator +=(const QString& pEllipticCurveName);
38};
39
40
41class TlsConfiguration final
42{
43 friend class SecureStorage;
44 friend class ::test_TlsConfiguration;
45 friend bool operator==(const TlsConfiguration& pLeft, const TlsConfiguration& pRight);
46
47 private:
48 QSslConfiguration mConfiguration;
49
50 TlsConfiguration();
51 ~TlsConfiguration() = default;
52
53 [[nodiscard]] QJsonArray readJsonArray(const QJsonObject& pConfig, const QLatin1String pName) const;
54 [[nodiscard]] QSsl::SslProtocol readSslProtocol(const QJsonObject& pConfig, const QLatin1String pName) const;
55 [[nodiscard]] bool readOcspStapling(const QJsonObject& pConfig, const QLatin1String pName) const;
56 [[nodiscard]] QByteArrayList readSignatureAlgorithms(const QJsonObject& pConfig, const QLatin1String pKey) const;
57
58 public:
59 void load(const QJsonObject& pConfig);
60 [[nodiscard]] bool isValid() const;
61
62 [[nodiscard]] QSsl::SslProtocol getProtocolVersion() const;
63 [[nodiscard]] bool getOcspStapling() const;
64 [[nodiscard]] QList<QSslCipher> getCiphers() const;
65 [[nodiscard]] QList<QSslEllipticCurve> getEllipticCurves() const;
66 [[nodiscard]] QByteArrayList getSignatureAlgorithms() const;
67 [[nodiscard]] const QSslConfiguration& getConfiguration() const;
68};
69
70
71inline bool operator==(const TlsConfiguration& pLeft, const TlsConfiguration& pRight)
72{
73 return &pLeft == &pRight || (
74 pLeft.mConfiguration == pRight.mConfiguration);
75}
76
77
78inline bool operator!=(const TlsConfiguration& pLeft, const TlsConfiguration& pRight)
79{
80 return !(pLeft == pRight);
81}
82
83
84} // namespace governikus
Definition SecureStorage.h:28
Definition TlsConfiguration.h:27
SslCipherList & operator+=(const QString &pCipherName)
Definition TlsConfiguration.cpp:21
Definition TlsConfiguration.h:35
SslEllipticCurveVector & operator+=(const QString &pEllipticCurveName)
Definition TlsConfiguration.cpp:37
Definition TlsConfiguration.h:42
QList< QSslEllipticCurve > getEllipticCurves() const
Definition TlsConfiguration.cpp:120
friend class SecureStorage
Definition TlsConfiguration.h:43
QSsl::SslProtocol getProtocolVersion() const
Definition TlsConfiguration.cpp:102
bool getOcspStapling() const
Definition TlsConfiguration.cpp:108
const QSslConfiguration & getConfiguration() const
Definition TlsConfiguration.cpp:138
bool isValid() const
Definition TlsConfiguration.cpp:95
void load(const QJsonObject &pConfig)
Definition TlsConfiguration.cpp:59
QList< QSslCipher > getCiphers() const
Definition TlsConfiguration.cpp:114
friend bool operator==(const TlsConfiguration &pLeft, const TlsConfiguration &pRight)
Definition TlsConfiguration.h:71
QByteArrayList getSignatureAlgorithms() const
Definition TlsConfiguration.cpp:126
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition CVCertificate.h:76
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition CommandApdu.h:105