AusweisApp2
Lade ...
Suche ...
Keine Treffer
AuthenticatedAuxiliaryData.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "ASN1TemplateUtil.h"
12
13#include "Oid.h"
14
15#include <openssl/asn1t.h>
16
17#include <QDate>
18#include <QSharedPointer>
19#include <QString>
20
21class test_AuxiliaryAuthenticatedData;
22
23namespace governikus
24{
25
47using AuxDataTemplate = struct auxdatatemplate_st
48{
49 ASN1_OBJECT* mAuxId;
50 ASN1_TYPE* mExtInfo;
51};
52
53#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
54DECLARE_STACK_OF(AuxDataTemplate)
55using AuthenticatedAuxiliaryDataInternal = stack_st_AuxDataTemplate;
56#else
57DEFINE_STACK_OF(AuxDataTemplate)
59#endif
60
62{
63 friend class ::test_AuxiliaryAuthenticatedData;
64 friend class QSharedPointer<AuthenticatedAuxiliaryData>;
65
66 private:
67 QSharedPointer<AuthenticatedAuxiliaryDataInternal> mData;
68
69 explicit AuthenticatedAuxiliaryData(const QSharedPointer<AuthenticatedAuxiliaryDataInternal>& pData);
70 [[nodiscard]] AuxDataTemplate* getAuxDataTemplateFor(const Oid& pOid) const;
71
72 [[nodiscard]] QString getRequiredAge(const QDate& pEffectiveDate) const;
73
74 public:
75 static QSharedPointer<AuthenticatedAuxiliaryData> fromHex(const QByteArray& pHexValue);
76 static QSharedPointer<AuthenticatedAuxiliaryData> decode(const QByteArray& pBytes);
77 [[nodiscard]] QByteArray encode() const;
78
79 [[nodiscard]] bool hasValidityDate() const;
80 [[nodiscard]] QDate getValidityDate() const;
81
82 [[nodiscard]] bool hasAgeVerificationDate() const;
83 [[nodiscard]] QDate getAgeVerificationDate() const;
84 [[nodiscard]] QString getRequiredAge() const;
85
86 [[nodiscard]] bool hasCommunityID() const;
87 [[nodiscard]] QByteArray getCommunityID() const;
88};
89
90} // namespace governikus
Definition: AuthenticatedAuxiliaryData.h:62
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:64
struct Data mData
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
auxdatatemplate_st { ASN1_OBJECT *mAuxId AuxDataTemplate
Definition: AuthenticatedAuxiliaryData.h:49
stack_st_AuxDataTemplate AuthenticatedAuxiliaryDataInternal
Definition: AuthenticatedAuxiliaryData.h:55
STACK_OF(CERTIFICATEEXTENSION) *mExtensions
ASN1_TYPE * mExtInfo
Definition: AuthenticatedAuxiliaryData.h:50