AusweisApp2
Lade ...
Suche ...
Keine Treffer
EstablishPaceChannelOutput.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "CardReturnCode.h"
14#include "asn1/SecurityInfos.h"
16
17
18#include <QByteArray>
19
20
21namespace governikus
22{
23
38{
39 ASN1_OCTET_STRING* mErrorCode;
40 ASN1_OCTET_STRING* mStatusMSESetAt;
42 ASN1_OCTET_STRING* mIdPICC;
43 ASN1_OCTET_STRING* mCurCAR;
44 ASN1_OCTET_STRING* mPrevCAR;
45};
47
48
50{
51 private:
52 CardReturnCode mPaceReturnCode;
53 QByteArray mStatusMseSetAt;
54 QByteArray mEfCardAccess;
55 QByteArray mIdIcc;
56 QByteArray mCarCurr;
57 QByteArray mCarPrev;
58
59 [[nodiscard]] static CardReturnCode parseReturnCode(quint32 pPaceReturnCode);
60 [[nodiscard]] static EstablishPaceChannelErrorCode generateReturnCode(CardReturnCode pReturnCode);
61
62 void initMseStatusSetAt();
63 void initEfCardAccess();
64
65 public:
66 explicit EstablishPaceChannelOutput(CardReturnCode pPaceReturnCode = CardReturnCode::COMMAND_FAILED);
67
71 [[nodiscard]] bool parse(const QByteArray& pControlOutput);
72 [[nodiscard]] bool parseResultCode(const QByteArray& pPaceOutput);
73
77 [[nodiscard]] bool parseOutputData(const QByteArray& pOutput);
78
82 [[nodiscard]] bool parseFromCcid(const QByteArray& pOutput);
83
84 [[nodiscard]] CardReturnCode getPaceReturnCode() const;
85 void setPaceReturnCode(CardReturnCode pPaceReturnCode);
86
87 [[nodiscard]] const QByteArray& getStatusMseSetAt() const;
88 void setStatusMseSetAt(const QByteArray& pStatusMseSetAt);
89
90 [[nodiscard]] const QByteArray& getEfCardAccess() const;
91 void setEfCardAccess(const QByteArray& pEfCardAccess);
92
93 [[nodiscard]] const QByteArray& getIdIcc() const;
94 void setIdIcc(const QByteArray& pIdIcc);
95
96 [[nodiscard]] const QByteArray& getCarCurr() const;
97 void setCarCurr(const QByteArray& pCarCurr);
98
99 [[nodiscard]] const QByteArray& getCarPrev() const;
100 void setCarPrev(const QByteArray& pCarPrev);
101
102 [[nodiscard]] QByteArray toResultCode() const;
103 [[nodiscard]] QByteArray toOutputData() const;
104 [[nodiscard]] QByteArray toCcid() const;
105
106#ifndef QT_NO_DEBUG
107 bool operator==(const EstablishPaceChannelOutput& pOther) const
108 {
109 return !(mPaceReturnCode != pOther.mPaceReturnCode
110 || mEfCardAccess != pOther.mEfCardAccess
111 || mCarCurr != pOther.mCarCurr
112 || mCarPrev != pOther.mCarPrev
113 || mIdIcc != pOther.mIdIcc
114 || mStatusMseSetAt != pOther.mStatusMseSetAt);
115 }
116
117
118#endif
119
120
121};
122
123
124} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:178
Definition: EstablishPaceChannelOutput.h:50
bool operator==(const EstablishPaceChannelOutput &pOther) const
Definition: EstablishPaceChannelOutput.h:107
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:23
ASN1_OCTET_STRING * mCarCurr
Definition: GeneralAuthenticateResponse.h:124
ASN1_OCTET_STRING * mCarPrev
Definition: GeneralAuthenticateResponse.h:125
As defined in TR-03119:
Definition: EstablishPaceChannelOutput.h:38
ASN1_OCTET_STRING * mCurCAR
Definition: EstablishPaceChannelOutput.h:43
ASN1_OCTET_STRING * mErrorCode
Definition: EstablishPaceChannelOutput.h:39
ASN1_OCTET_STRING * mIdPICC
Definition: EstablishPaceChannelOutput.h:42
ASN1_OCTET_STRING * mPrevCAR
Definition: EstablishPaceChannelOutput.h:44
ASN1_OCTET_STRING * mStatusMSESetAt
Definition: EstablishPaceChannelOutput.h:40
securityinfos_st * mEfCardAccess
Definition: EstablishPaceChannelOutput.h:41