AusweisApp
Lade ...
Suche ...
Keine Treffer
ASN1Util.h
gehe zur Dokumentation dieser Datei
1
5#pragma once
6
7#include <openssl/asn1t.h>
8#include <openssl/err.h>
9
10#include <QSharedPointer>
11#include <QString>
12
13
14DEFINE_STACK_OF(ASN1_OCTET_STRING)
15
16
17namespace governikus
18{
19
21{
22 private:
23 Asn1Util() = delete;
24 ~Asn1Util() = delete;
25
26 public:
30 static QByteArray encode(int pClass, int pTag, const QByteArray& pData, bool pConstructed = false);
31};
32
33
38{
39 private:
40 Asn1OctetStringUtil() = delete;
41 ~Asn1OctetStringUtil() = delete;
42
43 public:
44 static void setValue(const QByteArray& pValue, ASN1_OCTET_STRING* pAsn1OctetString);
45 static QByteArray getValue(ASN1_OCTET_STRING* pAsn1OctetString);
46};
47
48
53{
54 private:
55 Asn1StringUtil() = delete;
56 ~Asn1StringUtil() = delete;
57
58 public:
59 static void setValue(const QString& pString, ASN1_STRING* pOut);
60 static QString getValue(const ASN1_STRING* pString);
61};
62
63
68{
69 private:
70 Asn1TypeUtil() = delete;
71 ~Asn1TypeUtil() = delete;
72
73 public:
74#if OPENSSL_VERSION_NUMBER < 0x30000000L
76#else
77 static QByteArray encode(const ASN1_TYPE* pAny);
78#endif
79};
80
81
86{
87 private:
88 Asn1IntegerUtil() = delete;
89 ~Asn1IntegerUtil() = delete;
90
91 public:
92 [[nodiscard]] static int getValue(const ASN1_INTEGER* pInteger);
94};
95
96
101{
102 private:
103 Asn1BCDDateUtil() = delete;
104 ~Asn1BCDDateUtil() = delete;
105
106 public:
108 static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING* pDateBCD);
109};
110
111
112} // namespace governikus
Utility for BCD coded dates.
Definition ASN1Util.h:101
static QByteArray convertFromQDateToUnpackedBCD(QDate date)
Definition ASN1Util.cpp:107
static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING *pDateBCD)
Definition ASN1Util.cpp:127
Utility for OpenSSL type ASN1_INTEGER, i.e.
Definition ASN1Util.h:86
static int getValue(const ASN1_INTEGER *pInteger)
Definition ASN1Util.cpp:90
static QByteArray encode(int pValue)
Utility for OpenSSL type ASN1_OCTET_STRING, i.e.
Definition ASN1Util.h:38
static QByteArray getValue(ASN1_OCTET_STRING *pAsn1OctetString)
Definition ASN1Util.cpp:24
static void setValue(const QByteArray &pValue, ASN1_OCTET_STRING *pAsn1OctetString)
Definition ASN1Util.cpp:18
Utility for OpenSSL type ASN1_STRING, i.e.
Definition ASN1Util.h:53
static QString getValue(const ASN1_STRING *pString)
Definition ASN1Util.cpp:42
static void setValue(const QString &pString, ASN1_STRING *pOut)
Definition ASN1Util.cpp:35
Utility for OpenSSL type ASN1_TYPE, i.e.
Definition ASN1Util.h:68
static QByteArray encode(ASN1_TYPE *pAny)
Definition ASN1Util.cpp:65
Definition ASN1Util.h:21
static QByteArray encode(int pClass, int pTag, const QByteArray &pData, bool pConstructed=false)
Encodes the data as ASN.1 object with specified tag byte.
Definition ASN1Util.cpp:149
Defines the AccessRight and AccessRole enum.
Definition CommandApdu.h:17
QSharedPointer< T > decodeObject(const QByteArray &pData, bool pLogging=true)
Template function for decoding an OpenSSL type from DER encoded QByteArray.
Definition ASN1TemplateUtil.h:112