AusweisApp
Lade ...
Suche ...
Keine Treffer
EstablishPaceChannelOutput.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#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 bool findErrorCode(const QString& pOutputData);
63
64 public:
65 explicit EstablishPaceChannelOutput(CardReturnCode pPaceReturnCode = CardReturnCode::COMMAND_FAILED);
66
70 [[nodiscard]] bool parse(const QByteArray& pControlOutput);
71 [[nodiscard]] bool parseResultCode(const QByteArray& pPaceOutput);
72
76 [[nodiscard]] bool parseOutputData(const QByteArray& pOutput);
77
81 [[nodiscard]] bool parseFromCcid(const QByteArray& pOutput);
82
83 [[nodiscard]] CardReturnCode getPaceReturnCode() const;
84 void setPaceReturnCode(CardReturnCode pPaceReturnCode);
85
86 [[nodiscard]] const QByteArray& getStatusMseSetAt() const;
87 void setStatusMseSetAt(const QByteArray& pStatusMseSetAt);
88
89 [[nodiscard]] const QByteArray& getEfCardAccess() const;
90 void setEfCardAccess(const QByteArray& pEfCardAccess);
91
92 [[nodiscard]] const QByteArray& getIdIcc() const;
93 void setIdIcc(const QByteArray& pIdIcc);
94
95 [[nodiscard]] const QByteArray& getCarCurr() const;
96 void setCarCurr(const QByteArray& pCarCurr);
97
98 [[nodiscard]] const QByteArray& getCarPrev() const;
99 void setCarPrev(const QByteArray& pCarPrev);
100
101 [[nodiscard]] QByteArray toResultCode() const;
102 [[nodiscard]] QByteArray toOutputData() const;
103 [[nodiscard]] QByteArray toCcid() const;
104
105#ifndef QT_NO_DEBUG
106 bool operator==(const EstablishPaceChannelOutput& pOther) const
107 {
108 return !(mPaceReturnCode != pOther.mPaceReturnCode
109 || mEfCardAccess != pOther.mEfCardAccess
110 || mCarCurr != pOther.mCarCurr
111 || mCarPrev != pOther.mCarPrev
112 || mIdIcc != pOther.mIdIcc
113 || mStatusMseSetAt != pOther.mStatusMseSetAt);
114 }
115
116
117#endif
118
119
120};
121
122
123} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:178
Definition EstablishPaceChannelOutput.h:48
bool operator==(const EstablishPaceChannelOutput &pOther) const
Definition EstablishPaceChannelOutput.h:106
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: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