AusweisApp
Lade ...
Suche ...
Keine Treffer
StateGenericSendReceive.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include "AbstractState.h"
10#include "paos/PaosMessage.h"
11#include "paos/PaosType.h"
13
14#include <QList>
15#include <QSharedPointer>
16#include <QSslPreSharedKeyAuthenticator>
17#include <optional>
18
19class test_StateGenericSendReceive;
20
21namespace governikus
22{
23
25 : public AbstractState
26 , public GenericContextContainer<AuthContext>
27{
29 friend class ::test_StateGenericSendReceive;
30
31 private:
32 const PaosType mExpectedResponseType;
33 const QList<PaosType> mOtherResponseTypes;
34 const bool mPersonalization;
36
37 void logRawData(const QByteArray& pMessage);
38 void setReceivedMessage(const QSharedPointer<PaosMessage>& pMessage) const;
39 std::optional<FailureCode> checkSslConnectionAndSaveCertificate(const QSslConfiguration& pSslConfiguration);
40 void onSslErrors(const QList<QSslError>& pErrors);
41 void onSslHandshakeDone();
42 void run() override;
43
44 protected:
48 const QList<PaosType>& pOtherResponseTypes = {},
49 bool pPersonalization = false);
50
54
55 private Q_SLOTS:
56 void onReplyFinished();
57 void onPreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator* pAuthenticator) const;
58
59 public:
60 void onExit(QEvent* pEvent) override;
61
64};
65
68{
70 friend class StateBuilder;
71
72 private:
76 {
77 PaosType::DID_AUTHENTICATE_EAC1
78 })
79 {
80 }
81
82 protected:
87
88
90 {
91 return getContext()->getStartPaos();
92 }
93
94
96 {
97 if (pResponseType == PaosType::DID_AUTHENTICATE_EAC1)
98 {
100 }
101 }
102
103 Q_SIGNALS:
105
106
107};
108
111{
113 friend class StateBuilder;
114
115 private:
119 {
120 }
121
122 protected:
124 {
125 return getContext()->getInitializeFrameworkResponse();
126 }
127
128
130 {
131 return getContext()->getInitializeFrameworkResponse();
132 }
133
134
135};
136
139{
141 friend class StateBuilder;
142
143 private:
147 {
149 }
150
151 protected:
153 {
154 return getContext()->getDidAuthenticateResponseEac1();
155 }
156
157
159 {
160 return getContext()->getDidAuthenticateResponseEac1();
161 }
162
163
164};
165
168{
170 friend class StateBuilder;
171
172 private:
176 {
178 }
179
180 protected:
182 {
183 return getContext()->getDidAuthenticateResponseEacAdditionalInputType();
184 }
185
186
188 {
189 return getContext()->getDidAuthenticateResponseEacAdditionalInputType();
190 }
191
192
193};
194
197{
199 friend class StateBuilder;
200
201 private:
205 {
207 }
208
209 protected:
211 {
212 return getContext()->getDidAuthenticateResponseEac2();
213 }
214
215
217 {
218 return getContext()->getDidAuthenticateResponseEac2();
219 }
220
221
222};
223
226{
228 friend class StateBuilder;
229
230 private:
234 {
236 }
237
238 protected:
240 {
241 return getContext()->getTransmitResponse();
242 }
243
244
246 {
247 return getContext()->getTransmitResponse();
248 }
249
250
251};
252
253} // namespace governikus
Definition AbstractState.h:36
void setAbortOnCardRemoved()
Definition AbstractState.cpp:34
Definition GenericContextContainer.h:22
QSharedPointer< AuthContext > getContext() const
Definition GenericContextContainer.h:34
Definition StateBuilder.h:19
Definition StateGenericSendReceive.h:27
virtual void emitStateMachineSignal(PaosType pResponseType)
Definition StateGenericSendReceive.cpp:36
StateGenericSendReceive(const QSharedPointer< WorkflowContext > &pContext, PaosType pExpectedResponseType, const QList< PaosType > &pOtherResponseTypes={}, bool pPersonalization=false)
Definition StateGenericSendReceive.cpp:21
virtual QSharedPointer< PaosCreator > getAsCreator()=0
virtual QSharedPointer< ResponseType > getAsResponse()=0
void onExit(QEvent *pEvent) override
Definition StateGenericSendReceive.cpp:184
Definition StateGenericSendReceive.h:139
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:152
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:158
Definition StateGenericSendReceive.h:197
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:210
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:216
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:181
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:187
Definition StateGenericSendReceive.h:111
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:123
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:129
Definition StateGenericSendReceive.h:68
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:89
void emitStateMachineSignal(PaosType pResponseType) override
Definition StateGenericSendReceive.h:95
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:83
Definition StateGenericSendReceive.h:226
QSharedPointer< ResponseType > getAsResponse() override
Definition StateGenericSendReceive.h:239
QSharedPointer< PaosCreator > getAsCreator() override
Definition StateGenericSendReceive.h:245
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