AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
EstablishPACEChannel.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
11 #include "asn1/SecurityInfos.h"
12 #include "Apdu.h"
13 #include "CardReturnCode.h"
15 #include "SmartCardDefinitions.h"
16 
17 #include <QByteArray>
18 
19 
20 namespace governikus
21 {
22 
23 
37 {
38  ASN1_INTEGER* mPasswordID;
39  ASN1_STRING* mTransmittedPassword;
40  ASN1_OCTET_STRING* mCHAT;
42  ASN1_OBJECT* mHashOID;
43 };
45 
46 
48 {
49  private:
50  PACE_PASSWORD_ID mPasswordId;
51  QByteArray mChat;
52  QByteArray mCertificateDescription;
53 
54  public:
55  EstablishPACEChannelBuilder();
56 
60  QByteArray createCommandData();
61 
65  CommandApdu createCommandDataCcid();
66 
67  void setCertificateDescription(const QByteArray& pCertificateDescription);
68  void setChat(const QByteArray& pChat);
69  void setPasswordId(PACE_PASSWORD_ID pPasswordId);
70 };
71 
72 
87 {
88  ASN1_OCTET_STRING* mErrorCode;
89  ASN1_OCTET_STRING* mStatusMSESetAt;
91  ASN1_OCTET_STRING* mIdPICC;
92  ASN1_OCTET_STRING* mCurCAR;
93  ASN1_OCTET_STRING* mPrevCAR;
94 };
96 
97 
99 {
100  private:
101  CardReturnCode mPaceReturnCode;
102  QByteArray mEfCardAccess;
103  QByteArray mCarCurr;
104  QByteArray mCarPrev;
105  QByteArray mIdIcc;
106  QByteArray mStatusMseSetAt;
107 
108  public:
109  EstablishPACEChannelOutput();
110 
114  void parse(const QByteArray& pControlOutput, PACE_PASSWORD_ID pPasswordId);
115 
119  QByteArray toCcid() const;
120  void parseFromCcid(const QByteArray& pOutput, PACE_PASSWORD_ID pPasswordId);
121 
122  CardReturnCode getPaceReturnCode() const;
123  void setPaceReturnCode(CardReturnCode);
124 
125  QByteArray getEfCardAccess() const;
126  void setEfCardAccess(const QByteArray&);
127 
128  QByteArray getIDicc() const;
129  void setIdIcc(const QByteArray&);
130 
131  QByteArray getCARcurr() const;
132  void setCarCurr(const QByteArray&);
133 
134  QByteArray getCARprev() const;
135  void setCarPrev(const QByteArray&);
136 
137  QByteArray getMseStatusSetAt() const;
138  void setStatusMseSetAt(const QByteArray& pStatusMseSetAt);
139 
140  static CardReturnCode parseReturnCode(quint32 pPaceReturnCode, PACE_PASSWORD_ID pPasswordId);
141  static EstablishPACEChannelErrorCode generateReturnCode(CardReturnCode pReturnCode);
142 };
143 
144 
145 } // namespace governikus
ASN1_OCTET_STRING * mCHAT
Definition: EstablishPACEChannel.h:40
ASN1_OCTET_STRING * mPrevCAR
Definition: EstablishPACEChannel.h:93
Definition: EstablishPACEChannel.h:47
As defined in TR-03119:
Definition: EstablishPACEChannel.h:86
struct stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:20
CertificateDescription * mCertificateDescription
Definition: EstablishPACEChannel.h:41
Definition: CertificateDescription.h:40
ASN1_OCTET_STRING * mStatusMSESetAt
Definition: EstablishPACEChannel.h:89
ASN1_OCTET_STRING * mIdPICC
Definition: EstablishPACEChannel.h:91
Definition: Apdu.h:91
securityinfos_st * mEfCardAccess
Definition: EstablishPACEChannel.h:90
ASN1_OBJECT * mHashOID
Definition: EstablishPACEChannel.h:42
Definition: EstablishPACEChannel.h:98
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:152
ASN1_INTEGER * mPasswordID
Definition: EstablishPACEChannel.h:38
ASN1_OCTET_STRING * mCurCAR
Definition: EstablishPACEChannel.h:92
ASN1_OCTET_STRING * mErrorCode
Definition: EstablishPACEChannel.h:88
ASN1_STRING * mTransmittedPassword
Definition: EstablishPACEChannel.h:39
As defined in TR-03119:
Definition: EstablishPACEChannel.h:36