AusweisApp2
Lade ...
Suche ...
Keine Treffer
TlsChecker.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "LogHandler.h"
12
13#include <QCryptographicHash>
14#include <QNetworkReply>
15#include <QSet>
16#include <QSslCertificate>
17#include <QSslCipher>
18#include <QSslConfiguration>
19#include <QSslKey>
20
21namespace governikus
22{
23
25{
26 private:
27 [[nodiscard]] static bool isValidKeyLength(int pKeyLength, QSsl::KeyAlgorithm pKeyAlgorithm, bool pIsEphemeral);
28
29 TlsChecker() = delete;
30 ~TlsChecker() = delete;
31
32 public:
33 static void logSslConfig(const QSslConfiguration& pCfg, const MessageLogger& pLogger);
34 [[nodiscard]] static QString toString(QSsl::SslProtocol pProtocol);
35 [[nodiscard]] static QString toString(QSsl::KeyAlgorithm pKeyAlgorithm);
36
37 [[nodiscard]] static QStringList getFatalErrors(const QList<QSslError>& pErrors);
38 [[nodiscard]] static bool containsFatalError(const QSharedPointer<QNetworkReply>& pReply, const QList<QSslError>& pErrors);
39 [[nodiscard]] static QString sslErrorsToString(const QList<QSslError>& pErrors);
40
44 [[nodiscard]] static bool checkCertificate(const QSslCertificate& pCertificate,
45 QCryptographicHash::Algorithm pAlgorithm,
46 const QSet<QString>& pAcceptedCertificateHashes);
47
51 [[nodiscard]] static bool hasValidCertificateKeyLength(const QSslCertificate& pCertificate);
52
56 [[nodiscard]] static bool hasValidEphemeralKeyLength(const QSslKey& pEphemeralServerKey);
57
61 [[nodiscard]] static QString getCertificateIssuerName(const QSslCertificate& pCertificate);
62};
63
64} // namespace governikus
Definition: LogHandler.h:35
Definition: TlsChecker.h:25
static QString getCertificateIssuerName(const QSslCertificate &pCertificate)
This method is only needed until QSslCertificate provides its own method issuerDisplayName in Qt 5....
Definition: TlsChecker.cpp:66
static QStringList getFatalErrors(const QList< QSslError > &pErrors)
Definition: TlsChecker.cpp:197
static bool containsFatalError(const QSharedPointer< QNetworkReply > &pReply, const QList< QSslError > &pErrors)
Definition: TlsChecker.cpp:240
static void logSslConfig(const QSslConfiguration &pCfg, const MessageLogger &pLogger)
Definition: TlsChecker.cpp:271
static QString sslErrorsToString(const QList< QSslError > &pErrors)
Definition: TlsChecker.cpp:260
static bool checkCertificate(const QSslCertificate &pCertificate, QCryptographicHash::Algorithm pAlgorithm, const QSet< QString > &pAcceptedCertificateHashes)
Checks, whether the certificate's hash is contained in a set of accepted certificate hashes.
Definition: TlsChecker.cpp:20
static QString toString(QSsl::SslProtocol pProtocol)
Definition: TlsChecker.cpp:102
static bool hasValidCertificateKeyLength(const QSslCertificate &pCertificate)
Checks, whether the key length of the SSL certificate is of sufficient length.
Definition: TlsChecker.cpp:36
static bool hasValidEphemeralKeyLength(const QSslKey &pEphemeralServerKey)
Checks, whether the length of the ephemeral key is of sufficient length.
Definition: TlsChecker.cpp:51
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16