AusweisApp2
CommandData.h
gehe zur Dokumentation dieser Datei
1 
5 #pragma once
6 
7 #include "SmartCardDefinitions.h"
8 #include "asn1/Oid.h"
9 
10 #include <QByteArray>
11 #include <QVector>
12 
13 
14 namespace governikus
15 {
16 
18 {
19  public:
20  // According to TR-03110-3, chapter B.(1|2|3) and B.14.*
21  enum DATA_TAG : int
22  {
23  NONE = -1,
36  CERTIFICATE_BODY = 78
37  };
38 
39  private:
40  struct DataEntry
41  {
42  int mClass;
43  int mTag;
44  bool mConstructed;
45  QByteArray mData;
46 
47  operator QByteArray() const;
48  };
49 
50  QVector<DataEntry> mData;
51  int mTag;
52 
53  public:
54  explicit CommandData(DATA_TAG pTag = NONE);
55 
56  [[nodiscard]] QByteArray get(DATA_TAG pTag) const;
57 
58  void append(const QByteArray& pData);
59  void append(DATA_TAG pTag, int pValue);
60  void append(DATA_TAG pTag, const Oid& pOid);
61  void append(DATA_TAG pTag, PacePasswordId pPassword);
62  void append(DATA_TAG pTag, const QByteArray& pData);
63 
64  operator QByteArray() const;
65 };
66 
67 } // namespace governikus
Definition: CommandData.h:18
CommandData(DATA_TAG pTag=NONE)
Definition: CommandData.cpp:25
DATA_TAG
Definition: CommandData.h:22
@ MAPPING_DATA
Definition: CommandData.h:26
@ NONE
Definition: CommandData.h:23
@ CRYPTOGRAPHIC_MECHANISM_REFERENCE
Definition: CommandData.h:24
@ PACE_EPHEMERAL_PUBLIC_KEY
Definition: CommandData.h:27
@ CERTIFICATE_BODY
Definition: CommandData.h:36
@ AUXILIARY_AUTHENTICATED_DATA
Definition: CommandData.h:31
@ CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE
Definition: CommandData.h:35
@ DYNAMIC_AUTHENTICATION_DATA
Definition: CommandData.h:33
@ TA_EPHEMERAL_PUBLIC_KEY
Definition: CommandData.h:32
@ PUBLIC_KEY_REFERENCE
Definition: CommandData.h:28
@ PRIVATE_KEY_REFERENCE
Definition: CommandData.h:29
@ AUTHENTICATION_TOKEN
Definition: CommandData.h:30
@ CA_EPHEMERAL_PUBLIC_KEY
Definition: CommandData.h:25
@ CERTIFICATE_SIGNATURE
Definition: CommandData.h:34
void append(const QByteArray &pData)
Definition: CommandData.cpp:46
QByteArray get(DATA_TAG pTag) const
Definition: CommandData.cpp:32
struct Data mData
A simple template renderer.
Definition: ActivationContext.h:15