AusweisApp
Lade ...
Suche ...
Keine Treffer
StateCheckRefreshAddress.h
gehe zur Dokumentation dieser Datei
1
10#pragma once
11
12#include "AbstractState.h"
14#include "context/AuthContext.h"
15
16#include <QNetworkReply>
17#include <QSharedPointer>
18#include <QSslCertificate>
19#include <QSslError>
20#include <QSslSocket>
21
22class test_StateCheckRefreshAddress;
23
24namespace governikus
25{
26
28 : public AbstractState
29 , public GenericContextContainer<AuthContext>
30{
32 friend class StateBuilder;
33 friend class ::test_StateCheckRefreshAddress;
34
35 private:
37 QUrl mUrl;
38 QUrl mSubjectUrl;
39 bool mCertificateFetched;
40 QList<QUrl> mVerifiedRefreshUrlHosts;
41
43
44 [[nodiscard]] bool isMatchingSameOriginPolicyInDevMode() const;
45 void run() override;
46
47 QUrl determineSubjectUrl() const;
48
49 void sendGetRequest();
50 void fetchServerCertificate();
51 bool checkSslConnectionAndSaveCertificate(const QSslConfiguration& pSslConfiguration);
52 void doneSuccess();
53 void reportCommunicationError(const GlobalStatus& pStatus, const FailureCode& pFailure);
54
55 private Q_SLOTS:
56 void onSslHandshakeDone();
57 void onNetworkReply();
58 void onSslErrors(const QList<QSslError>& errors);
59 void onSslHandshakeDoneFetchingServerCertificate();
60 void onNetworkErrorFetchingServerCertificate(QNetworkReply::NetworkError pError);
61
62 public:
63 void onEntry(QEvent* pEvent) override;
64 void onExit(QEvent* pEvent) override;
65};
66
67} // namespace governikus
Definition AbstractState.h:36
Definition FailureCode.h:21
Definition GenericContextContainer.h:22
Definition GlobalStatus.h:22
Definition StateBuilder.h:19
Definition StateCheckRefreshAddress.h:30
void onExit(QEvent *pEvent) override
Definition StateCheckRefreshAddress.cpp:450
void onEntry(QEvent *pEvent) override
Definition StateCheckRefreshAddress.cpp:442
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:114