AusweisApp2
GeneralAuthenticateResponse.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "ResponseApdu.h"
11 
12 
13 namespace governikus
14 {
15 
17 {
18  protected:
20 
21  [[nodiscard]] bool isValid() const;
22 
23  public:
24  explicit GAResponseApdu(const ResponseApdu& pResponseApdu);
25  [[nodiscard]] StatusCode getReturnCode() const;
26 };
27 
28 
35 using GA_ENCRYPTEDNONCEDATA = struct ga_encryptednoncedata_st
36 {
37  ASN1_OCTET_STRING* mEncryptedNonce;
38 };
40 
41 
43  : public GAResponseApdu
44 {
45  private:
46  void parseDynamicAuthenticationData(const QByteArray& pDynamicAuthenticationData);
47  QByteArray mEncryptedNonce;
48 
49  public:
50  explicit GAEncryptedNonceResponse(const ResponseApdu& pResponseApdu);
51  [[nodiscard]] const QByteArray& getEncryptedNonce() const;
52 };
53 
54 
61 using GA_MAPNONCEDATA = struct ga_mapnoncedata_st
62 {
63  ASN1_OCTET_STRING* mMappingData;
64 };
66 
67 
69  : public GAResponseApdu
70 {
71  private:
72  void parseDynamicAuthenticationData(const QByteArray& pDynamicAuthenticationData);
73  QByteArray mMappingData;
74 
75  public:
76  explicit GAMapNonceResponse(const ResponseApdu& pResponseApdu);
77  [[nodiscard]] const QByteArray& getMappingData() const;
78 };
79 
80 
87 using GA_PERFORMKEYAGREEMENTDATA = struct ga_performkeyagreementdata_st
88 {
89  ASN1_OCTET_STRING* mEphemeralPublicKey;
90 };
92 
93 
95  : public GAResponseApdu
96 {
97  private:
98  void parseDynamicAuthenticationData(const QByteArray& pDynamicAuthenticationData);
99  QByteArray mEphemeralPublicKey;
100 
101  public:
102  explicit GAPerformKeyAgreementResponse(const ResponseApdu& pResponseApdu);
103  [[nodiscard]] const QByteArray& getEphemeralPublicKey() const;
104 };
105 
106 
115 using GA_MUTUALAUTHENTICATIONDATA = struct ga_mutualauthenticationdata_st
116 {
117  ASN1_OCTET_STRING* mAuthenticationToken;
118  ASN1_OCTET_STRING* mCarCurr;
119  ASN1_OCTET_STRING* mCarPrev;
120 };
122 
123 
125  : public GAResponseApdu
126 {
127  private:
128  void parseDynamicAuthenticationData(const QByteArray& pDynamicAuthenticationData);
130 
131  public:
132  explicit GAMutualAuthenticationResponse(const ResponseApdu& pResponseApdu);
133  [[nodiscard]] const QByteArray& getAuthenticationToken() const;
134  [[nodiscard]] const QByteArray& getCarCurr() const;
135  [[nodiscard]] const QByteArray& getCarPrev() const;
136 };
137 
138 
146 using GA_CHIPAUTHENTICATIONDATA = struct ga_chipauthenticationdata_st
147 {
148  ASN1_OCTET_STRING* mNonce;
149  ASN1_OCTET_STRING* mAuthenticationToken;
150 };
152 
153 
155  : public GAResponseApdu
156 {
157  private:
158  void parseDynamicAuthenticationData(const QByteArray& pDynamicAuthenticationData);
159  QByteArray mNonce, mAuthenticationToken;
160 
161  public:
162  explicit GAChipAuthenticationResponse(const ResponseApdu& pResponseApdu);
163  [[nodiscard]] const QByteArray& getNonce() const;
164  [[nodiscard]] const QByteArray& getAuthenticationToken() const;
165 };
166 
167 
168 } // namespace governikus
ASN1_OCTET_STRING * mCarCurr
Definition: GeneralAuthenticateResponse.h:118
ResponseApdu mResponseApdu
Definition: GeneralAuthenticateResponse.h:19
Definition: GeneralAuthenticateResponse.h:94
GAResponseApdu(const ResponseApdu &pResponseApdu)
Definition: GeneralAuthenticateResponse.cpp:15
Definition: GeneralAuthenticateResponse.h:124
struct ga_performkeyagreementdata_st { ASN1_OCTET_STRING *mEphemeralPublicKey GA_PERFORMKEYAGREEMENTDATA
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: ...
Definition: GeneralAuthenticateResponse.h:89
struct ga_mapnoncedata_st { ASN1_OCTET_STRING *mMappingData GA_MAPNONCEDATA
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: ...
Definition: GeneralAuthenticateResponse.h:63
struct ga_mutualauthenticationdata_st { ASN1_OCTET_STRING *mAuthenticationToken GA_MUTUALAUTHENTICATIONDATA
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: ...
Definition: GeneralAuthenticateResponse.h:117
struct ga_chipauthenticationdata_st { ASN1_OCTET_STRING *mNonce GA_CHIPAUTHENTICATIONDATA
According to TR-03110-3 the ASN.1 the response APDU has three protocol specific data: ...
Definition: GeneralAuthenticateResponse.h:148
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:14
Definition: GeneralAuthenticateResponse.h:154
struct ga_encryptednoncedata_st { ASN1_OCTET_STRING *mEncryptedNonce GA_ENCRYPTEDNONCEDATA
According to TR-03110-3 the ASN.1 the response APDU has one protocol specific data: ...
Definition: GeneralAuthenticateResponse.h:37
bool isValid() const
Definition: GeneralAuthenticateResponse.cpp:25
Definition: GeneralAuthenticateResponse.h:42
StatusCode getReturnCode() const
Definition: GeneralAuthenticateResponse.cpp:31
Definition: GeneralAuthenticateResponse.h:68
ASN1_OCTET_STRING * mCarPrev
Definition: GeneralAuthenticateResponse.h:119
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:164
Definition: GeneralAuthenticateResponse.h:16
ASN1_OCTET_STRING * mAuthenticationToken
Definition: GeneralAuthenticateResponse.h:149
Definition: ResponseApdu.h:82