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