AusweisApp2
TlsConfiguration.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include <QByteArrayList>
10#include <QJsonObject>
11#include <QList>
12#include <QSslCipher>
13#include <QSslConfiguration>
14#include <QSslEllipticCurve>
15#include <QStringList>
16#include <QVector>
17
18
19class test_TlsConfiguration;
20
21
22namespace governikus
23{
24
25class SecureStorage;
26
27
29 : public QList<QSslCipher>
30{
31 public:
32 SslCipherList& operator +=(const QString& pCipherName);
33};
34
35
37 : public QVector<QSslEllipticCurve>
38{
39 public:
40 SslEllipticCurveVector& operator +=(const QString& pEllipticCurveName);
41};
42
43
45{
46 friend class SecureStorage;
47 friend class ::test_TlsConfiguration;
48 friend bool operator==(const TlsConfiguration& pLeft, const TlsConfiguration& pRight);
49
50 private:
51 QSslConfiguration mConfiguration;
52
54 ~TlsConfiguration() = default;
55
56 [[nodiscard]] QJsonArray readJsonArray(const QJsonObject& pConfig, const QLatin1String pName) const;
57 [[nodiscard]] QSsl::SslProtocol readSslProtocol(const QJsonObject& pConfig, const QLatin1String pName) const;
58 [[nodiscard]] bool readOcspStapling(const QJsonObject& pConfig, const QLatin1String pName) const;
59 [[nodiscard]] QByteArrayList readSignatureAlgorithms(const QJsonObject& pConfig, const QLatin1String pKey) const;
60
61 public:
62 void load(const QJsonObject& pConfig);
63
64 [[nodiscard]] QSsl::SslProtocol getProtocolVersion() const;
65 [[nodiscard]] bool getOcspStapling() const;
66 [[nodiscard]] QList<QSslCipher> getCiphers() const;
67 [[nodiscard]] QVector<QSslEllipticCurve> getEllipticCurves() const;
68 [[nodiscard]] QByteArrayList getSignatureAlgorithms() const;
69 [[nodiscard]] const QSslConfiguration& getConfiguration() const;
70};
71
72
73inline bool operator==(const TlsConfiguration& pLeft, const TlsConfiguration& pRight)
74{
75 return &pLeft == &pRight || (
76 pLeft.mConfiguration == pRight.mConfiguration);
77}
78
79
80inline bool operator!=(const TlsConfiguration& pLeft, const TlsConfiguration& pRight)
81{
82 return !(pLeft == pRight);
83}
84
85
86} // namespace governikus
Definition: SecureStorage.h:31
Definition: TlsConfiguration.h:30
SslCipherList & operator+=(const QString &pCipherName)
Definition: TlsConfiguration.cpp:27
Definition: TlsConfiguration.h:38
SslEllipticCurveVector & operator+=(const QString &pEllipticCurveName)
Definition: TlsConfiguration.cpp:43
Definition: TlsConfiguration.h:45
QSsl::SslProtocol getProtocolVersion() const
Definition: TlsConfiguration.cpp:97
bool getOcspStapling() const
Definition: TlsConfiguration.cpp:103
const QSslConfiguration & getConfiguration() const
Definition: TlsConfiguration.cpp:133
QVector< QSslEllipticCurve > getEllipticCurves() const
Definition: TlsConfiguration.cpp:115
void load(const QJsonObject &pConfig)
Definition: TlsConfiguration.cpp:65
QList< QSslCipher > getCiphers() const
Definition: TlsConfiguration.cpp:109
friend bool operator==(const TlsConfiguration &pLeft, const TlsConfiguration &pRight)
Definition: TlsConfiguration.h:73
QByteArrayList getSignatureAlgorithms() const
Definition: TlsConfiguration.cpp:121
A simple template renderer.
Definition: ActivationContext.h:15
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition: CVCertificate.h:81
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition: CommandApdu.h:100