AusweisApp2
TlsChecker.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include <QCryptographicHash>
10 #include <QMessageLogger>
11 #include <QNetworkReply>
12 #include <QSet>
13 #include <QSslCertificate>
14 #include <QSslCipher>
15 #include <QSslConfiguration>
16 #include <QSslKey>
17 
18 namespace governikus
19 {
20 
22 {
23  private:
24  TlsChecker() = delete;
25  static bool isValidKeyLength(int pKeyLength, QSsl::KeyAlgorithm pKeyAlgorithm, bool pIsEphemeral);
26 
27  public:
28  static void logSslConfig(const QSslConfiguration& pCfg, const QMessageLogger& pLogger);
29  static QString toString(QSsl::SslProtocol pProtocol);
30  static QString toString(QSsl::KeyAlgorithm pKeyAlgorithm);
31 
32  static QStringList getFatalErrors(const QList<QSslError>& pErrors);
33  static bool containsFatalError(const QSharedPointer<QNetworkReply>& pReply, const QList<QSslError>& pErrors);
34 
38  static bool checkCertificate(const QSslCertificate& pCertificate,
39  QCryptographicHash::Algorithm pAlgorithm,
40  const QSet<QString>& pAcceptedCertificateHashes);
41 
45  static bool hasValidCertificateKeyLength(const QSslCertificate& pCertificate);
46 
50  static bool hasValidEphemeralKeyLength(const QSslKey& pEphemeralServerKey);
51 
55  static QString getCertificateIssuerName(const QSslCertificate& pCertificate);
56 };
57 
58 } // namespace governikus
Definition: TlsChecker.h:22
static void logSslConfig(const QSslConfiguration &pCfg, const QMessageLogger &pLogger)
Definition: TlsChecker.cpp:294
static QString getCertificateIssuerName(const QSslCertificate &pCertificate)
This method is only needed until QSslCertificate provides its own method issuerDisplayName in Qt 5....
Definition: TlsChecker.cpp:102
static QStringList getFatalErrors(const QList< QSslError > &pErrors)
Definition: TlsChecker.cpp:231
static bool containsFatalError(const QSharedPointer< QNetworkReply > &pReply, const QList< QSslError > &pErrors)
Definition: TlsChecker.cpp:274
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:27
static QString toString(QSsl::SslProtocol pProtocol)
Definition: TlsChecker.cpp:138
static bool hasValidCertificateKeyLength(const QSslCertificate &pCertificate)
Checks, whether the key length of the SSL certificate is of sufficient length.
Definition: TlsChecker.cpp:47
static bool hasValidEphemeralKeyLength(const QSslKey &pEphemeralServerKey)
Checks, whether the length of the ephemeral key is of sufficient length.
Definition: TlsChecker.cpp:62
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15