AusweisApp2
Lade ...
Suche ...
Keine Treffer
ApplicationTemplates.h
gehe zur Dokumentation dieser Datei
10#pragma once
11
12#include "ApplicationTemplate.h"
14#include "PaceInfo.h"
15
16#include <QByteArray>
17#include <QSharedPointer>
18#include <QVector>
19
20
21namespace governikus
22{
23
30#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
31using ApplicationTemplatesInternal = stack_st_ApplicationTemplate;
32#else
34#endif
35
36DECLARE_ASN1_FUNCTIONS(ApplicationTemplatesInternal)
38
40{
41 Q_DISABLE_COPY(ApplicationTemplates)
42 friend class QSharedPointer<ApplicationTemplates>;
43
44 private:
45 const QByteArray mContentBytes;
46 const QVector<QSharedPointer<const ApplicationTemplate>> mApplicationTemplates;
47
48 ApplicationTemplates(const QByteArray& pBytes,
49 const QVector<QSharedPointer<const ApplicationTemplate>>& pApplicationTemplates);
50
51 static QByteArray buildAsn1LengthField(unsigned int pLength);
52
53 public:
54 static QSharedPointer<ApplicationTemplates> decode(const QByteArray& pBytes);
55
56 bool contains(const QByteArray& pIdentifier);
57
58 [[nodiscard]] const QByteArray& getContentBytes() const;
59 [[nodiscard]] const QVector<QSharedPointer<const ApplicationTemplate>>& getApplicationTemplates() const;
60 [[nodiscard]] int count() const;
61};
62
63
64} // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition ASN1TemplateUtil.h:178
Definition ApplicationTemplates.h:40
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
stack_st_ApplicationTemplate ApplicationTemplatesInternal
EF.DIR = ApplicationTemplates ::= SET OF ApplicationTemplate.
Definition ApplicationTemplates.h:31
application_template_st { ASN1_OCTET_STRING *mApplicationIdentifier ApplicationTemplate
Definition ApplicationTemplate.h:40
STACK_OF(CERTIFICATEEXTENSION) *mExtensions