35 #include <QSharedPointer>
36 #include <QSslCertificate>
39 class test_StateRedirectBrowser;
40 class test_StatePreVerification;
41 class test_StateCertificateDescriptionCheck;
45 class TestAuthContext;
53 friend class ::test_StateRedirectBrowser;
54 friend class ::test_StatePreVerification;
55 friend class ::test_StateProcessCertificatesFromEac2;
56 friend class ::test_StateCertificateDescriptionCheck;
60 QString mProgressMessage;
61 bool mTcTokenNotFound;
62 bool mErrorReportedToServer;
65 QSharedPointer<ActivationContext> mActivationContext;
67 QSharedPointer<const TcToken> mTcToken;
69 QString mReceivedMessageId;
70 QSharedPointer<StartPaos> mStartPaos;
71 QSharedPointer<InitializeFramework> mInitializeFramework;
72 QSharedPointer<InitializeFrameworkResponse> mInitializeFrameworkResponse;
73 QSharedPointer<DIDList> mDIDList;
74 QSharedPointer<DIDListResponse> mDIDListResponse;
75 QSharedPointer<DIDAuthenticateEAC1> mDIDAuthenticateEAC1;
76 QSharedPointer<DIDAuthenticateResponseEAC1> mDIDAuthenticateResponseEAC1;
77 QSharedPointer<DIDAuthenticateEAC2> mDIDAuthenticateEAC2;
78 QSharedPointer<DIDAuthenticateResponseEAC2> mDIDAuthenticateResponseEACAdditionalInputType;
79 QSharedPointer<DIDAuthenticateEACAdditional> mDIDAuthenticateEACAdditionalInputType;
80 QSharedPointer<DIDAuthenticateResponseEAC2> mDIDAuthenticateResponseEAC2;
81 QVector<QSharedPointer<Transmit>> mTransmits;
82 QVector<QSharedPointer<TransmitResponse>> mTransmitResponses;
83 QSharedPointer<Disconnect> mDisconnect;
84 QSharedPointer<DisconnectResponse> mDisconnectResponse;
85 QSharedPointer<StartPaosResponse> mStartPaosResponse;
86 QSharedPointer<AccessRightManager> mAccessRightManager;
87 QMultiMap<QUrl, QSslCertificate> mCertificates;
88 QSharedPointer<const CVCertificate> mDvCvc;
90 QByteArray mSslSession;
98 explicit AuthContext(
const QSharedPointer<ActivationContext>& pActivationContext);
102 return mErrorReportedToServer;
108 mErrorReportedToServer = pErrorReportedToServer;
114 return mProgressValue;
120 return mProgressMessage;
124 void setProgress(
int pValue,
const QString& pMessage);
129 return mTcTokenNotFound;
135 mTcTokenNotFound = pTcTokenNotFound;
141 return mSkipRedirect;
147 mSkipRedirect = pSkipRedirect;
153 return mCertificates.values();
166 qDebug() <<
"Adding certificate CN=" << pCert.subjectInfo(QSslCertificate::CommonName) <<
"SN=" << pCert.serialNumber() <<
"for URL origin" << originUrl;
167 mCertificates.insert(originUrl, pCert);
173 return mActivationContext.data();
185 mTcTokenUrl = pTcTokenUrl;
189 [[nodiscard]]
const QSharedPointer<const TcToken>&
getTcToken()
const
195 void setTcToken(
const QSharedPointer<const TcToken>& pTcToken)
203 return mReceivedMessageId;
209 mReceivedMessageId = pReceivedMessageId;
221 mRefreshUrl = pRefreshUrl;
227 return mDIDAuthenticateEAC1;
233 mDIDAuthenticateEAC1 = pDIDAuthenticateEAC1;
240 return mDIDAuthenticateEAC2;
246 mDIDAuthenticateEAC2 = pDidAuthenticateEac2;
252 return mDIDAuthenticateResponseEAC1;
258 mDIDAuthenticateResponseEAC1 = pDidAuthenticateResponseEac1;
264 return mDIDAuthenticateResponseEACAdditionalInputType;
270 mDIDAuthenticateResponseEACAdditionalInputType = pDidAuthenticateResponseEacAdditionalInputType;
276 return mDIDAuthenticateEACAdditionalInputType;
282 mDIDAuthenticateEACAdditionalInputType = pDidAuthenticateEacAdditionalInputType;
288 return mDIDAuthenticateResponseEAC2;
294 mDIDAuthenticateResponseEAC2 = pDidAuthenticateResponseEac2;
298 [[nodiscard]]
const QSharedPointer<DIDList>&
getDidList()
const
312 return mDIDListResponse;
318 mDIDListResponse = pDidListResponse;
324 return mInitializeFramework;
330 mInitializeFramework = pInitializeFramework;
336 return mInitializeFrameworkResponse;
342 mInitializeFrameworkResponse = pInitializeFrameworkResponse;
354 mDisconnect = pDisconnect;
360 return mDisconnectResponse;
366 mDisconnectResponse = pDisconnectResponse;
372 return mStartPaosResponse;
378 mStartPaosResponse = pStartPaosResponse;
384 return mTransmitResponses;
390 Q_ASSERT(!pTransmitResponse.isNull());
391 mTransmitResponses += pTransmitResponse;
403 Q_ASSERT(!pTransmit.isNull());
404 mTransmits += pTransmit;
410 return mAccessRightManager;
425 mStartPaos = pStartPaos;
438 void initCvcChainBuilder(
const QVector<QSharedPointer<const CVCertificate>>& pAdditionalCertificates = QVector<QSharedPointer<const CVCertificate>>());
441 [[nodiscard]]
const QSharedPointer<const CVCertificate>&
getDvCvc()
const
447 void setDvCvc(
const QSharedPointer<const CVCertificate>& dvCvc)
Definition: ActivationContext.h:19
Definition: AuthContext.h:49
void setDidList(const QSharedPointer< DIDList > &pDidList)
Definition: AuthContext.h:304
bool isSkipRedirect() const
Definition: AuthContext.h:139
const QSharedPointer< DIDAuthenticateEACAdditional > & getDidAuthenticateEacAdditional() const
Definition: AuthContext.h:274
const QSharedPointer< StartPaos > & getStartPaos() const
Definition: AuthContext.h:417
friend class TestAuthContext
Definition: AuthContext.h:57
bool isTcTokenNotFound() const
Definition: AuthContext.h:127
const QSharedPointer< InitializeFrameworkResponse > & getInitializeFrameworkResponse() const
Definition: AuthContext.h:334
const QSharedPointer< DIDAuthenticateEAC2 > & getDidAuthenticateEac2() const
Definition: AuthContext.h:238
void initCvcChainBuilder(const QVector< QSharedPointer< const CVCertificate >> &pAdditionalCertificates=QVector< QSharedPointer< const CVCertificate >>())
Definition: AuthContext.cpp:152
const QSharedPointer< const CVCertificate > & getDvCvc() const
Definition: AuthContext.h:441
void setTcTokenNotFound(bool pTcTokenNotFound)
Definition: AuthContext.h:133
ActivationContext * getActivationContext() const
Definition: AuthContext.h:171
void addCertificateData(const QUrl &pUrl, const QSslCertificate &pCert)
Definition: AuthContext.h:163
const QSharedPointer< DIDAuthenticateResponseEAC2 > & getDidAuthenticateResponseEac2() const
Definition: AuthContext.h:286
void setReceivedMessageId(const QString &pReceivedMessageId)
Definition: AuthContext.h:207
const QByteArray & getSslSession() const
Definition: AuthContext.cpp:91
void setTcToken(const QSharedPointer< const TcToken > &pTcToken)
Definition: AuthContext.h:195
void fireAccessRightManagerCreated(QSharedPointer< AccessRightManager > pAccessRightManager)
void setDidAuthenticateEacAdditional(const QSharedPointer< DIDAuthenticateEACAdditional > &pDidAuthenticateEacAdditionalInputType)
Definition: AuthContext.h:280
void setTcTokenUrl(const QUrl &pTcTokenUrl)
Definition: AuthContext.h:183
void setSkipRedirect(bool pSkipRedirect)
Definition: AuthContext.h:145
const QString getProgressMessage() const
Definition: AuthContext.h:118
void setDidAuthenticateEac1(const QSharedPointer< DIDAuthenticateEAC1 > &pDIDAuthenticateEAC1)
Definition: AuthContext.h:231
void setErrorReportedToServer(bool pErrorReportedToServer)
Definition: AuthContext.h:106
const QSharedPointer< DIDAuthenticateResponseEAC2 > & getDidAuthenticateResponseEacAdditionalInputType() const
Definition: AuthContext.h:262
const QSharedPointer< DisconnectResponse > & getDisconnectResponse()
Definition: AuthContext.h:358
bool isCanAllowedMode() const override
Definition: AuthContext.cpp:85
const QSharedPointer< Disconnect > & getDisconnect() const
Definition: AuthContext.h:346
QSharedPointer< AccessRightManager > getAccessRightManager() const
Definition: AuthContext.h:408
const QUrl & getTcTokenUrl() const
Definition: AuthContext.h:177
QList< QSslCertificate > getCertificateList() const
Definition: AuthContext.h:151
void setRefreshUrl(const QUrl &pRefreshUrl)
Definition: AuthContext.h:219
void setDidListResponse(const QSharedPointer< DIDListResponse > &pDidListResponse)
Definition: AuthContext.h:316
bool isErrorReportedToServer() const
Definition: AuthContext.h:100
QByteArray encodeEffectiveChat()
Definition: AuthContext.cpp:103
const QSharedPointer< DIDListResponse > & getDidListResponse()
Definition: AuthContext.h:310
void setProgress(int pValue, const QString &pMessage)
Definition: AuthContext.cpp:56
void setSslSession(const QByteArray &pSession)
Definition: AuthContext.cpp:97
void setStartPaos(const QSharedPointer< StartPaos > &pStartPaos)
Definition: AuthContext.h:423
AuthContext(const QSharedPointer< ActivationContext > &pActivationContext)
Definition: AuthContext.cpp:17
const QSharedPointer< const TcToken > & getTcToken() const
Definition: AuthContext.h:189
const QSharedPointer< StartPaosResponse > & getStartPaosResponse() const
Definition: AuthContext.h:370
void setDidAuthenticateEac2(const QSharedPointer< DIDAuthenticateEAC2 > &pDidAuthenticateEac2)
Definition: AuthContext.h:244
void setDvCvc(const QSharedPointer< const CVCertificate > &dvCvc)
Definition: AuthContext.h:447
bool containsCertificateFor(const QUrl &pUrl) const
Definition: AuthContext.h:157
const QSharedPointer< DIDList > & getDidList() const
Definition: AuthContext.h:298
const QSharedPointer< InitializeFramework > & getInitializeFramework() const
Definition: AuthContext.h:322
void fireProgressChanged()
bool hasChainForCertificationAuthority(const EstablishPaceChannelOutput &pPaceOutput) const
Definition: AuthContext.cpp:134
void addTransmit(const QSharedPointer< Transmit > &pTransmit)
Definition: AuthContext.h:401
int getProgressValue() const
Definition: AuthContext.h:112
void setDisconnectResponse(const QSharedPointer< DisconnectResponse > &pDisconnectResponse)
Definition: AuthContext.h:364
void addTransmitResponse(const QSharedPointer< TransmitResponse > &pTransmitResponse)
Definition: AuthContext.h:388
void setInitializeFramework(const QSharedPointer< InitializeFramework > &pInitializeFramework)
Definition: AuthContext.h:328
void setDisconnect(const QSharedPointer< Disconnect > &pDisconnect)
Definition: AuthContext.h:352
CVCertificateChain getChainForCertificationAuthority(const EstablishPaceChannelOutput &pPaceOutput) const
Definition: AuthContext.cpp:140
void setDidAuthenticateResponseEac1(const QSharedPointer< DIDAuthenticateResponseEAC1 > &pDidAuthenticateResponseEac1)
Definition: AuthContext.h:256
void fireDidAuthenticateEac1Changed()
const QUrl & getRefreshUrl() const
Definition: AuthContext.h:213
const QSharedPointer< DIDAuthenticateEAC1 > & getDidAuthenticateEac1() const
Definition: AuthContext.h:225
const QVector< QSharedPointer< TransmitResponse > > & getTransmitResponses()
Definition: AuthContext.h:382
const QVector< QSharedPointer< Transmit > > & getTransmits()
Definition: AuthContext.h:395
const QSharedPointer< DIDAuthenticateResponseEAC1 > & getDidAuthenticateResponseEac1() const
Definition: AuthContext.h:250
void setInitializeFrameworkResponse(const QSharedPointer< InitializeFrameworkResponse > &pInitializeFrameworkResponse)
Definition: AuthContext.h:340
CVCertificateChain getChainStartingWith(const QSharedPointer< const CVCertificate > &pChainRoot) const
Definition: AuthContext.cpp:114
void setDidAuthenticateResponseEac2(const QSharedPointer< DIDAuthenticateResponseEAC2 > &pDidAuthenticateResponseEac2)
Definition: AuthContext.h:292
void initAccessRightManager(const QSharedPointer< const CVCertificate > &pTerminalCvc)
Definition: AuthContext.cpp:76
const QString & getReceivedMessageId() const
Definition: AuthContext.h:201
void setDidAuthenticateResponseEacAdditionalInputType(const QSharedPointer< DIDAuthenticateResponseEAC2 > &pDidAuthenticateResponseEacAdditionalInputType)
Definition: AuthContext.h:268
void setStartPaosResponse(const QSharedPointer< StartPaosResponse > &pStartPaosResponse)
Definition: AuthContext.h:376
Definition: CVCertificateChainBuilder.h:20
Definition: CVCertificateChain.h:22
Definition: EstablishPaceChannelOutput.h:48
static QUrl getUrlOrigin(const QUrl &pUrl)
Determines the URL origin, i.e.
Definition: UrlUtil.cpp:19
Definition: WorkflowContext.h:24
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15