AusweisApp2
ApplicationTemplate.h
gehe zur Dokumentation dieser Datei
1 
7 #pragma once
8 
9 #include "ASN1TemplateUtil.h"
10 #include "FileRef.h"
11 #include "SecurityProtocol.h"
12 
13 #include <QDebug>
14 #include <QSharedPointer>
15 #include <openssl/asn1t.h>
16 
17 
18 namespace governikus
19 {
20 
37 {
38  ASN1_OCTET_STRING* mApplicationIdentifier;
39  ASN1_PRINTABLESTRING* mApplicationLabel;
40  ASN1_OCTET_STRING* mFileReference;
41  ASN1_OCTET_STRING* mCommandApdu;
42  ASN1_OCTET_STRING* mDiscretionaryData;
43  ASN1_OCTET_STRING* mUniformResourceLocator;
44 
45  static QSharedPointer<application_template_st> decode(const QByteArray& pBytes);
46 
50 
54  [[nodiscard]] QByteArray getAid() const;
55 };
56 
57 
58 inline QDebug operator<<(QDebug pDbg, const QSharedPointer<ApplicationTemplate>& pApplicationTemplate)
59 {
60  QDebugStateSaver saver(pDbg);
61  pDbg << FileRef(FileRef::TYPE::APPLICATION, pApplicationTemplate->getAid());
62  return pDbg;
63 }
64 
65 
66 #if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
67 DECLARE_STACK_OF(ApplicationTemplate)
68 #else
69 DEFINE_STACK_OF(ApplicationTemplate)
70 #endif
71 
72 DECLARE_ASN1_FUNCTIONS(ApplicationTemplate)
74 
75 
76 } // namespace governikus
#define DECLARE_ASN1_OBJECT(name)
Definition: ASN1TemplateUtil.h:169
Definition: FileRef.h:17
A simple template renderer.
Definition: ActivationContext.h:15
QByteArray getAid() const
Definition: ApplicationTemplate.cpp:83
application_template_st & operator=(const application_template_st &)=delete
application_template_st(const application_template_st &pCopy)
~application_template_st()
Definition: ApplicationTemplate.cpp:56
ASN1_PRINTABLESTRING * mApplicationLabel
Definition: ApplicationTemplate.h:39
struct application_template_st { ASN1_OCTET_STRING *mApplicationIdentifier ApplicationTemplate
Definition: ApplicationTemplate.h:38
ASN1_OCTET_STRING * mDiscretionaryData
Definition: ApplicationTemplate.h:42
ASN1_OCTET_STRING * mFileReference
Definition: ApplicationTemplate.h:40
ASN1_OCTET_STRING * mCommandApdu
Definition: ApplicationTemplate.h:41
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:89
ASN1_OCTET_STRING * mUniformResourceLocator
Definition: ApplicationTemplate.h:43