AusweisApp2
SecurityInfos.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "MobileEIDTypeInfo.h"
11 #include "PaceInfo.h"
12 #include "SecurityInfo.h"
13 
14 #include <QByteArray>
15 #include <QSharedPointer>
16 #include <QVector>
17 
18 
19 namespace governikus
20 {
21 using securityinfos_st = struct stack_st_securityinfo_st;
22 
23 DECLARE_ASN1_FUNCTIONS(securityinfos_st)
25 
26 
32 {
33  Q_DISABLE_COPY(SecurityInfos)
34  friend class QSharedPointer<SecurityInfos>;
35 
36  private:
37  const QByteArray mContentBytes;
38  const QVector<QSharedPointer<const SecurityInfo>> mSecurityInfos;
39  const QVector<QSharedPointer<const PaceInfo>> mPaceInfos;
40  const QVector<QSharedPointer<const ChipAuthenticationInfo>> mChipAuthenticationInfos;
41  const QSharedPointer<const MobileEIDTypeInfo> mMobileEIDTypeInfo;
42 
43  SecurityInfos(const QByteArray& pBytes,
44  const QVector<QSharedPointer<const SecurityInfo>>& pSecurityInfos,
45  const QVector<QSharedPointer<const PaceInfo>>& pPaceInfos,
46  const QVector<QSharedPointer<const ChipAuthenticationInfo>>& pChipAuthenticationInfos,
47  const QSharedPointer<const MobileEIDTypeInfo>& pMobileEIDTypeInfo);
48 
49  public:
50  static QSharedPointer<SecurityInfos> fromHex(const QByteArray& pHexString);
51  static QSharedPointer<SecurityInfos> decode(const QByteArray& pBytes);
52 
53  [[nodiscard]] const QByteArray& getContentBytes() const;
54  [[nodiscard]] const QVector<QSharedPointer<const SecurityInfo>>& getSecurityInfos() const;
55  [[nodiscard]] const QVector<QSharedPointer<const PaceInfo>>& getPaceInfos() const;
56  [[nodiscard]] const QVector<QSharedPointer<const ChipAuthenticationInfo>>& getChipAuthenticationInfos() const;
57  [[nodiscard]] const QSharedPointer<const MobileEIDTypeInfo>& getMobileEIDTypeInfo() const;
58 };
59 
60 
67 
68 
69 } // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:176
QByteArray fromHex(const std::string &pString)
Definition: SmartManager.cpp:39
SecurityInfos ::= SET OF SecurityInfo.
Definition: SecurityInfos.h:32
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
struct stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:21