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