AusweisApp
Lade ...
Suche ...
Keine Treffer
ASN1Struct.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
8#include "asn1/Oid.h"
9
10#include <QByteArray>
11#include <QList>
12#include <openssl/asn1.h>
13
14
15namespace governikus
16{
17
19{
20 public:
56
57 private:
58 int mClass;
59 int mTag;
60 QByteArray mSimpleData;
61 QList<ASN1Struct> mComplexData;
62
63 public:
64 explicit ASN1Struct(int pClass = V_ASN1_UNIVERSAL, DATA_TAG pTag = NONE, const QByteArray& pData = QByteArray());
65 explicit ASN1Struct(const QByteArray& pData);
66
67 [[nodiscard]] QByteArray getData(int pClass, DATA_TAG pTag) const;
68 [[nodiscard]] QByteArray getObject(int pClass, DATA_TAG pTag) const;
69
70 void append(const QByteArray& pData);
71 void append(DATA_TAG pTag, int pValue);
72 void append(DATA_TAG pTag, const Oid& pOid);
73 void append(DATA_TAG pTag, PacePasswordId pPassword);
74 void append(DATA_TAG pTag, const QByteArray& pData);
75
76 operator QByteArray() const;
77
78#ifndef QT_NO_DEBUG
79 int getObjectCount() const;
80 void print(QDebug pDbg, int pLevel) const;
81#endif
82};
83
84QDebug operator<<(QDebug pDbg, const ASN1Struct& pASN1Struct);
85
86} // namespace governikus
Definition ASN1Struct.h:19
DATA_TAG
Definition ASN1Struct.h:22
@ UNI_SEQUENCE
Definition ASN1Struct.h:53
@ CERTIFICATE_EXTENSION_CONTENT_0
Definition ASN1Struct.h:26
@ RI_FIRST_IDENTIFIER
Definition ASN1Struct.h:30
@ PRIVATE_KEY_REFERENCE
Definition ASN1Struct.h:34
@ CV_CERTIFICATE
Definition ASN1Struct.h:40
@ UNI_NULL
Definition ASN1Struct.h:51
@ UNI_INTEGER
Definition ASN1Struct.h:48
@ PACE_EPHEMERAL_PUBLIC_KEY
Definition ASN1Struct.h:31
@ AUXILIARY_AUTHENTICATED_DATA
Definition ASN1Struct.h:37
@ PUBLIC_KEY_REFERENCE
Definition ASN1Struct.h:33
@ MAPPING_DATA
Definition ASN1Struct.h:29
@ CERTIFICATE_BODY
Definition ASN1Struct.h:44
@ PASSWORD_REFERENCE
Definition ASN1Struct.h:32
@ UNI_OCTETSTRING
Definition ASN1Struct.h:50
@ UNI_BOOLEAN
Definition ASN1Struct.h:47
@ EC_PUBLIC_POINT
Definition ASN1Struct.h:36
@ DYNAMIC_AUTHENTICATION_DATA
Definition ASN1Struct.h:39
@ PUBLIC_KEY
Definition ASN1Struct.h:42
@ UNI_BITSTRING
Definition ASN1Struct.h:49
@ TA_EPHEMERAL_PUBLIC_KEY
Definition ASN1Struct.h:38
@ NONE
Definition ASN1Struct.h:23
@ CERTIFICATE_HOLDER_AUTHORIZATION_TEMPLATE
Definition ASN1Struct.h:43
@ CERTIFICATE_SIGNATURE
Definition ASN1Struct.h:41
@ UNI_OBJECT_IDENTIFIER
Definition ASN1Struct.h:52
@ CA_EPHEMERAL_PUBLIC_KEY
Definition ASN1Struct.h:28
@ UNI_SET
Definition ASN1Struct.h:54
@ CRYPTOGRAPHIC_MECHANISM_REFERENCE
Definition ASN1Struct.h:27
@ AUTHENTICATION_TOKEN
Definition ASN1Struct.h:35
void append(const QByteArray &pData)
Definition ASN1Struct.cpp:118
ASN1Struct(int pClass=V_ASN1_UNIVERSAL, DATA_TAG pTag=NONE, const QByteArray &pData=QByteArray())
Definition ASN1Struct.cpp:20
QByteArray getData(int pClass, DATA_TAG pTag) const
Definition ASN1Struct.cpp:78
int getObjectCount() const
Definition ASN1Struct.cpp:179
QByteArray getObject(int pClass, DATA_TAG pTag) const
Definition ASN1Struct.cpp:98
void print(QDebug pDbg, int pLevel) const
Definition ASN1Struct.cpp:190
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:96