14#include <QSharedPointer>
15#include <QSslPreSharedKeyAuthenticator>
19class test_StateGenericSendReceive;
29 friend class ::test_StateGenericSendReceive;
32 const PaosType mExpectedResponseType;
33 const QVector<PaosType> mOtherResponseTypes;
34 const bool mPersonalization;
35 QSharedPointer<QNetworkReply> mReply;
37 void setReceivedMessage(
const QSharedPointer<PaosMessage>& pMessage);
38 std::optional<FailureCode> checkSslConnectionAndSaveCertificate(
const QSslConfiguration& pSslConfiguration);
39 void onSslErrors(
const QList<QSslError>& pErrors);
40 void onSslHandshakeDone();
45 const QSharedPointer<WorkflowContext>& pContext,
46 PaosType pExpectedResponseType,
47 const QVector<PaosType>& pOtherResponseTypes = {},
48 bool pPersonalization =
false);
55 void onReplyFinished();
56 void onPreSharedKeyAuthenticationRequired(QSslPreSharedKeyAuthenticator* pAuthenticator);
59 void onExit(QEvent* pEvent)
override;
71 PaosType::INITIALIZE_FRAMEWORK,
73 PaosType::DID_AUTHENTICATE_EAC1,
74 PaosType::STARTPAOS_RESPONSE
82 return QSharedPointer<ResponseType>();
94 if (pResponseType == PaosType::DID_AUTHENTICATE_EAC1)
98 else if (pResponseType == PaosType::STARTPAOS_RESPONSE)
120 PaosType::DID_AUTHENTICATE_EAC1,
122 PaosType::STARTPAOS_RESPONSE
130 return getContext()->getInitializeFrameworkResponse();
136 return getContext()->getInitializeFrameworkResponse();
142 if (pResponseType == PaosType::STARTPAOS_RESPONSE)
163 PaosType::DID_AUTHENTICATE_EAC2,
165 PaosType::STARTPAOS_RESPONSE
174 return getContext()->getDidAuthenticateResponseEac1();
180 return getContext()->getDidAuthenticateResponseEac1();
195 PaosType::DID_AUTHENTICATE_EAC_ADDITIONAL_INPUT_TYPE,
197 PaosType::STARTPAOS_RESPONSE
206 return getContext()->getDidAuthenticateResponseEacAdditionalInputType();
212 return getContext()->getDidAuthenticateResponseEacAdditionalInputType();
229 PaosType::STARTPAOS_RESPONSE
238 return getContext()->getDidAuthenticateResponseEac2();
244 return getContext()->getDidAuthenticateResponseEac2();
259 PaosType::STARTPAOS_RESPONSE,
282 if (pResponseType == PaosType::TRANSMIT)
Definition: AbstractState.h:23
void setAbortOnCardRemoved()
Definition: AbstractState.cpp:34
Definition: GenericContextContainer.h:22
QSharedPointer< AuthContext > getContext() const
Definition: GenericContextContainer.h:34
Definition: StateBuilder.h:20
Definition: StateGenericSendReceive.h:27
virtual void emitStateMachineSignal(PaosType pResponseType)
Definition: StateGenericSendReceive.cpp:36
virtual QSharedPointer< PaosCreator > getAsCreator()=0
virtual QSharedPointer< ResponseType > getAsResponse()=0
void onExit(QEvent *pEvent) override
Definition: StateGenericSendReceive.cpp:164
Definition: StateGenericSendReceive.h:156
QSharedPointer< ResponseType > getAsResponse() override
Definition: StateGenericSendReceive.h:172
QSharedPointer< PaosCreator > getAsCreator() override
Definition: StateGenericSendReceive.h:178
Definition: StateGenericSendReceive.h:220
QSharedPointer< ResponseType > getAsResponse() override
Definition: StateGenericSendReceive.h:236
QSharedPointer< PaosCreator > getAsCreator() override
Definition: StateGenericSendReceive.h:242
Definition: StateGenericSendReceive.h:113
void fireReceivedStartPaosResponse()
QSharedPointer< ResponseType > getAsResponse() override
Definition: StateGenericSendReceive.h:128
QSharedPointer< PaosCreator > getAsCreator() override
Definition: StateGenericSendReceive.h:134
void emitStateMachineSignal(PaosType pResponseType) override
Definition: StateGenericSendReceive.h:140
Definition: StateGenericSendReceive.h:64
QSharedPointer< PaosCreator > getAsCreator() override
Definition: StateGenericSendReceive.h:86
void emitStateMachineSignal(PaosType pResponseType) override
Definition: StateGenericSendReceive.h:92
void fireReceivedExtractCvcsFromEac1InputType()
QSharedPointer< ResponseType > getAsResponse() override
Definition: StateGenericSendReceive.h:80
void fireReceivedStartPaosResponse()
Definition: StateGenericSendReceive.h:252
void fireReceivedTransmit()
QSharedPointer< ResponseType > getAsResponse() override
Definition: StateGenericSendReceive.h:268
QSharedPointer< PaosCreator > getAsCreator() override
Definition: StateGenericSendReceive.h:274
void emitStateMachineSignal(PaosType pResponseType) override
Definition: StateGenericSendReceive.h:280
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16