AusweisApp2
AuthenticatedAuxiliaryData.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ASN1TemplateUtil.h"
10 
11 #include "KnownOIDs.h"
12 
13 #include <openssl/asn1t.h>
14 
15 #include <QDate>
16 #include <QSharedPointer>
17 #include <QString>
18 
19 class test_AuxiliaryAuthenticatedData;
20 
21 namespace governikus
22 {
23 
45 using AuxDataTemplate = struct auxdatatemplate_st
46 {
47  ASN1_OBJECT* mAuxId;
48  ASN1_TYPE* mExtInfo;
49 };
50 
51 #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
52 DECLARE_STACK_OF(AuxDataTemplate)
53 using AuthenticatedAuxiliaryDataInternal = stack_st_AuxDataTemplate;
54 #else
55 DEFINE_STACK_OF(AuxDataTemplate)
57 #endif
58 
60 {
61  friend class ::test_AuxiliaryAuthenticatedData;
62  friend class QSharedPointer<AuthenticatedAuxiliaryData>;
63 
64  QSharedPointer<AuthenticatedAuxiliaryDataInternal> mData;
65 
66  explicit AuthenticatedAuxiliaryData(const QSharedPointer<AuthenticatedAuxiliaryDataInternal>& pData);
67  AuxDataTemplate* getAuxDataTemplateFor(KnownOIDs::AuxilaryData pData) const;
68 
69  QString getRequiredAge(const QDate& pEffectiveDate) const;
70 
71  public:
72  static QSharedPointer<AuthenticatedAuxiliaryData> fromHex(const QByteArray& pHexValue);
73  static QSharedPointer<AuthenticatedAuxiliaryData> decode(const QByteArray& pBytes);
74  QByteArray encode() const;
75 
76  bool hasValidityDate() const;
77  QDate getValidityDate() const;
78 
79  bool hasAgeVerificationDate() const;
80  QDate getAgeVerificationDate() const;
81  QString getRequiredAge() const;
82 
83  bool hasCommunityID() const;
84  QByteArray getCommunityID() const;
85 };
86 
87 } // namespace governikus
Definition: AuthenticatedAuxiliaryData.h:60
QDate getAgeVerificationDate() const
Definition: AuthenticatedAuxiliaryData.cpp:194
QByteArray encode() const
Definition: AuthenticatedAuxiliaryData.cpp:158
QByteArray getCommunityID() const
Definition: AuthenticatedAuxiliaryData.cpp:242
QDate getValidityDate() const
Definition: AuthenticatedAuxiliaryData.cpp:171
bool hasCommunityID() const
Definition: AuthenticatedAuxiliaryData.cpp:236
static QSharedPointer< AuthenticatedAuxiliaryData > fromHex(const QByteArray &pHexValue)
Definition: AuthenticatedAuxiliaryData.cpp:117
bool hasValidityDate() const
Definition: AuthenticatedAuxiliaryData.cpp:165
QString getRequiredAge() const
Definition: AuthenticatedAuxiliaryData.cpp:230
static QSharedPointer< AuthenticatedAuxiliaryData > decode(const QByteArray &pBytes)
Definition: AuthenticatedAuxiliaryData.cpp:123
bool hasAgeVerificationDate() const
Definition: AuthenticatedAuxiliaryData.cpp:188
friend class QSharedPointer< AuthenticatedAuxiliaryData >
Definition: AuthenticatedAuxiliaryData.h:62
AuxilaryData
Definition: KnownOIDs.h:43
Implementation of ActivationContext for Intent based activation on Android systems.
Definition: ActivationContext.h:15
stack_st_AuxDataTemplate AuthenticatedAuxiliaryDataInternal
Definition: AuthenticatedAuxiliaryData.h:53
struct auxdatatemplate_st { ASN1_OBJECT *mAuxId AuxDataTemplate
Definition: AuthenticatedAuxiliaryData.h:47
STACK_OF(CERTIFICATEEXTENSION) *mExtensions
ASN1_TYPE * mExtInfo
Definition: AuthenticatedAuxiliaryData.h:48