AusweisApp2
SecurityInfos.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
10 #include "PaceInfo.h"
11 #include "SecurityInfo.h"
12 
13 #include <QByteArray>
14 #include <QSharedPointer>
15 #include <QVector>
16 
17 
18 namespace governikus
19 {
20 using securityinfos_st = struct stack_st_securityinfo_st;
21 
22 DECLARE_ASN1_FUNCTIONS(securityinfos_st)
24 
25 
31 {
32  Q_DISABLE_COPY(SecurityInfos)
33  friend class QSharedPointer<SecurityInfos>;
34 
35  const QByteArray mContentBytes;
36  const QVector<QSharedPointer<const SecurityInfo>> mSecurityInfos;
37  const QVector<QSharedPointer<const PaceInfo>> mPaceInfos;
38  const QVector<QSharedPointer<const ChipAuthenticationInfo>> mChipAuthenticationInfos;
39 
40  SecurityInfos(const QByteArray& pBytes,
41  const QVector<QSharedPointer<const SecurityInfo>>& pSecurityInfos,
42  const QVector<QSharedPointer<const PaceInfo>>& pPaceInfos,
43  const QVector<QSharedPointer<const ChipAuthenticationInfo>>& pChipAuthenticationInfos);
44 
45  public:
46  static QSharedPointer<SecurityInfos> fromHex(const QByteArray& pHexString);
47  static QSharedPointer<SecurityInfos> decode(const QByteArray& pBytes);
48 
49  [[nodiscard]] const QByteArray& getContentBytes() const;
50  [[nodiscard]] const QVector<QSharedPointer<const SecurityInfo>>& getSecurityInfos() const;
51  [[nodiscard]] const QVector<QSharedPointer<const PaceInfo>>& getPaceInfos() const;
52  [[nodiscard]] const QVector<QSharedPointer<const ChipAuthenticationInfo>>& getChipAuthenticationInfos() const;
53 };
54 
55 
62 
63 
64 } // namespace governikus
DECLARE_ASN1_OBJECT
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:164
governikus::ChipAuthenticationInfo::decode
static QSharedPointer< ChipAuthenticationInfo > decode(const QByteArray &pBytes)
Definition: ChipAuthenticationInfo.h:51
ChipAuthenticationInfo.h
governikus::SecurityInfos::getPaceInfos
const QVector< QSharedPointer< const PaceInfo > > & getPaceInfos() const
Definition: SecurityInfos.cpp:111
governikus::SecurityInfos::getSecurityInfos
const QVector< QSharedPointer< const SecurityInfo > > & getSecurityInfos() const
Definition: SecurityInfos.cpp:105
governikus::SecurityInfos::getChipAuthenticationInfos
const QVector< QSharedPointer< const ChipAuthenticationInfo > > & getChipAuthenticationInfos() const
Definition: SecurityInfos.cpp:117
sk_securityinfo_st_value
#define sk_securityinfo_st_value(data, i)
governikus::PaceInfo::decode
static QSharedPointer< PaceInfo > decode(const QByteArray &pBytes)
Definition: PaceInfo.h:72
governikus::securityinfos_st
struct stack_st_securityinfo_st securityinfos_st
Definition: SecurityInfos.h:20
governikus::SecurityInfos::getContentBytes
const QByteArray & getContentBytes() const
Definition: SecurityInfos.cpp:99
governikus::securityinfo_st
Definition: SecurityInfo.h:28
IMPLEMENT_ASN1_OBJECT
#define IMPLEMENT_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:139
governikus
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
SecurityInfo.h
governikus::encodeObject
QByteArray encodeObject(T *pObject)
Template function for encoding an OpenSSL type as DER encoded QByteArray.
Definition: ASN1TemplateUtil.h:64
governikus::SecurityInfos::decode
static QSharedPointer< SecurityInfos > decode(const QByteArray &pBytes)
Definition: SecurityInfos.cpp:42
governikus::SecurityInfos::QSharedPointer< SecurityInfos >
friend class QSharedPointer< SecurityInfos >
Definition: SecurityInfos.h:33
sk_securityinfo_st_num
#define sk_securityinfo_st_num(data)
SecurityInfos.h
governikus::SecurityInfos::fromHex
static QSharedPointer< SecurityInfos > fromHex(const QByteArray &pHexString)
Definition: SecurityInfos.cpp:36
ASN1TemplateUtil.h
governikus::SecurityInfo::decode
static QSharedPointer< SecurityInfo > decode(const QByteArray &pBytes)
Definition: SecurityInfo.h:64
governikus::SecurityInfos
SecurityInfos ::= SET OF SecurityInfo.
Definition: SecurityInfos.h:31
PaceInfo.h