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)
void initAccessRightManager(const QSharedPointer< const CVCertificate > &pTerminalCvc)
Definition: AuthContext.cpp:76
const QSharedPointer< StartPaosResponse > & getStartPaosResponse() const
Definition: AuthContext.h:370
const QSharedPointer< const TcToken > & getTcToken() const
Definition: AuthContext.h:189
const QSharedPointer< Disconnect > & getDisconnect() const
Definition: AuthContext.h:346
const QSharedPointer< InitializeFramework > & getInitializeFramework() const
Definition: AuthContext.h:322
const QString getProgressMessage() const
Definition: AuthContext.h:118
const QSharedPointer< DisconnectResponse > & getDisconnectResponse()
Definition: AuthContext.h:358
bool hasChainForCertificationAuthority(const EstablishPaceChannelOutput &pPaceOutput) const
Definition: AuthContext.cpp:134
void setReceivedMessageId(const QString &pReceivedMessageId)
Definition: AuthContext.h:207
void setTcToken(const QSharedPointer< const TcToken > &pTcToken)
Definition: AuthContext.h:195
void setDidList(const QSharedPointer< DIDList > &pDidList)
Definition: AuthContext.h:304
Definition: AuthContext.h:47
int getProgressValue() const
Definition: AuthContext.h:112
void setStartPaos(const QSharedPointer< StartPaos > &pStartPaos)
Definition: AuthContext.h:423
const QVector< QSharedPointer< Transmit > > & getTransmits()
Definition: AuthContext.h:395
void setDisconnectResponse(const QSharedPointer< DisconnectResponse > &pDisconnectResponse)
Definition: AuthContext.h:364
Definition: CVCertificateChainBuilder.h:18
const QSharedPointer< DIDAuthenticateEAC1 > & getDidAuthenticateEac1() const
Definition: AuthContext.h:225
void addTransmit(const QSharedPointer< Transmit > &pTransmit)
Definition: AuthContext.h:401
void initCvcChainBuilder(const QVector< QSharedPointer< const CVCertificate >> &pAdditionalCertificates=QVector< QSharedPointer< const CVCertificate >>())
Definition: AuthContext.cpp:152
const QSharedPointer< DIDListResponse > & getDidListResponse()
Definition: AuthContext.h:310
void setDidAuthenticateEac2(const QSharedPointer< DIDAuthenticateEAC2 > &pDidAuthenticateEac2)
Definition: AuthContext.h:244
AuthContext(const QSharedPointer< ActivationContext > &pActivationContext)
Definition: AuthContext.cpp:17
void setDvCvc(const QSharedPointer< const CVCertificate > &dvCvc)
Definition: AuthContext.h:447
void setSkipRedirect(bool pSkipRedirect)
Definition: AuthContext.h:145
CVCertificateChain getChainForCertificationAuthority(const EstablishPaceChannelOutput &pPaceOutput) const
Definition: AuthContext.cpp:140
void setInitializeFrameworkResponse(const QSharedPointer< InitializeFrameworkResponse > &pInitializeFrameworkResponse)
Definition: AuthContext.h:340
void setTcTokenUrl(const QUrl &pTcTokenUrl)
Definition: AuthContext.h:183
const QUrl & getRefreshUrl() const
Definition: AuthContext.h:213
void setStartPaosResponse(const QSharedPointer< StartPaosResponse > &pStartPaosResponse)
Definition: AuthContext.h:376
Definition: CVCertificateChain.h:20
void setRefreshUrl(const QUrl &pRefreshUrl)
Definition: AuthContext.h:219
void addCertificateData(const QUrl &pUrl, const QSslCertificate &pCert)
Definition: AuthContext.h:163
static QUrl getUrlOrigin(const QUrl &pUrl)
Determines the URL origin, i.e.
Definition: UrlUtil.cpp:19
const QUrl & getTcTokenUrl() const
Definition: AuthContext.h:177
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
void setSslSession(const QByteArray &pSession)
Definition: AuthContext.cpp:97
bool isTcTokenNotFound() const
Definition: AuthContext.h:127
void setDidAuthenticateResponseEacAdditionalInputType(const QSharedPointer< DIDAuthenticateResponseEAC2 > &pDidAuthenticateResponseEacAdditionalInputType)
Definition: AuthContext.h:268
void fireDidAuthenticateEac1Changed()
const QSharedPointer< DIDAuthenticateResponseEAC2 > & getDidAuthenticateResponseEac2() const
Definition: AuthContext.h:286
const QSharedPointer< DIDAuthenticateResponseEAC2 > & getDidAuthenticateResponseEacAdditionalInputType() const
Definition: AuthContext.h:262
void setDidAuthenticateEac1(const QSharedPointer< DIDAuthenticateEAC1 > &pDIDAuthenticateEAC1)
Definition: AuthContext.h:231
Definition: WorkflowContext.h:22
void setDidListResponse(const QSharedPointer< DIDListResponse > &pDidListResponse)
Definition: AuthContext.h:316
bool isSkipRedirect() const
Definition: AuthContext.h:139
const QString & getReceivedMessageId() const
Definition: AuthContext.h:201
const QSharedPointer< InitializeFrameworkResponse > & getInitializeFrameworkResponse() const
Definition: AuthContext.h:334
void fireAccessRightManagerCreated(QSharedPointer< AccessRightManager > pAccessRightManager)
void setErrorReportedToServer(bool pErrorReportedToServer)
Definition: AuthContext.h:106
void setDidAuthenticateResponseEac2(const QSharedPointer< DIDAuthenticateResponseEAC2 > &pDidAuthenticateResponseEac2)
Definition: AuthContext.h:292
bool containsCertificateFor(const QUrl &pUrl) const
Definition: AuthContext.h:157
const QSharedPointer< const CVCertificate > & getDvCvc() const
Definition: AuthContext.h:441
const QSharedPointer< DIDAuthenticateResponseEAC1 > & getDidAuthenticateResponseEac1() const
Definition: AuthContext.h:250
void setDidAuthenticateResponseEac1(const QSharedPointer< DIDAuthenticateResponseEAC1 > &pDidAuthenticateResponseEac1)
Definition: AuthContext.h:256
void fireProgressChanged()
QByteArray encodeEffectiveChat()
Definition: AuthContext.cpp:103
QList< QSslCertificate > getCertificateList() const
Definition: AuthContext.h:151
void setProgress(int pValue, const QString &pMessage)
Definition: AuthContext.cpp:56
const QVector< QSharedPointer< TransmitResponse > > & getTransmitResponses()
Definition: AuthContext.h:382
void setInitializeFramework(const QSharedPointer< InitializeFramework > &pInitializeFramework)
Definition: AuthContext.h:328
Definition: EstablishPaceChannelOutput.h:47
friend class TestAuthContext
Definition: AuthContext.h:57
void setDisconnect(const QSharedPointer< Disconnect > &pDisconnect)
Definition: AuthContext.h:352
const QSharedPointer< DIDAuthenticateEACAdditional > & getDidAuthenticateEacAdditional() const
Definition: AuthContext.h:274
bool isErrorReportedToServer() const
Definition: AuthContext.h:100
void setTcTokenNotFound(bool pTcTokenNotFound)
Definition: AuthContext.h:133
CVCertificateChain getChainStartingWith(const QSharedPointer< const CVCertificate > &pChainRoot) const
Definition: AuthContext.cpp:114
const QSharedPointer< DIDAuthenticateEAC2 > & getDidAuthenticateEac2() const
Definition: AuthContext.h:238
const QSharedPointer< DIDList > & getDidList() const
Definition: AuthContext.h:298
QSharedPointer< AccessRightManager > getAccessRightManager() const
Definition: AuthContext.h:408
void addTransmitResponse(const QSharedPointer< TransmitResponse > &pTransmitResponse)
Definition: AuthContext.h:388
ActivationContext * getActivationContext() const
Definition: AuthContext.h:171
Definition: ActivationContext.h:17
const QByteArray & getSslSession() const
Definition: AuthContext.cpp:91
bool isCanAllowedMode() const override
Definition: AuthContext.cpp:85
void setDidAuthenticateEacAdditional(const QSharedPointer< DIDAuthenticateEACAdditional > &pDidAuthenticateEacAdditionalInputType)
Definition: AuthContext.h:280
const QSharedPointer< StartPaos > & getStartPaos() const
Definition: AuthContext.h:417