AusweisApp
Lade ...
Suche ...
Keine Treffer
ASN1Util.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include <openssl/asn1t.h>
12#include <openssl/err.h>
13
14#include <QSharedPointer>
15#include <QString>
16
17DEFINE_STACK_OF(ASN1_OCTET_STRING)
18
19namespace governikus
20{
21
23{
24 private:
25 Asn1Util() = delete;
26 ~Asn1Util() = delete;
27
28 public:
32 static QByteArray encode(int pClass, int pTag, const QByteArray& pData, bool pConstructed = false);
33};
34
35
40{
41 private:
42 Asn1OctetStringUtil() = delete;
43 ~Asn1OctetStringUtil() = delete;
44
45 public:
46 static void setValue(const QByteArray& pValue, ASN1_OCTET_STRING* pAsn1OctetString);
47 static QByteArray getValue(ASN1_OCTET_STRING* pAsn1OctetString);
48};
49
50
55{
56 private:
57 Asn1StringUtil() = delete;
58 ~Asn1StringUtil() = delete;
59
60 public:
61 static void setValue(const QString& pString, ASN1_STRING* pOut);
62 static QString getValue(const ASN1_STRING* pString);
63};
64
65
70{
71 private:
72 Asn1TypeUtil() = delete;
73 ~Asn1TypeUtil() = delete;
74
75 public:
76#if OPENSSL_VERSION_NUMBER < 0x30000000L
78#else
79 static QByteArray encode(const ASN1_TYPE* pAny);
80#endif
81};
82
83
88{
89 private:
90 Asn1IntegerUtil() = delete;
91 ~Asn1IntegerUtil() = delete;
92
93 public:
94 [[nodiscard]] static int getValue(const ASN1_INTEGER* pInteger);
96};
97
98
103{
104 private:
105 Asn1BCDDateUtil() = delete;
106 ~Asn1BCDDateUtil() = delete;
107
108 public:
110 static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING* pDateBCD);
111};
112
113
114} // namespace governikus
Utility for BCD coded dates.
Definition ASN1Util.h:103
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:88
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:40
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:55
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:70
static QByteArray encode(ASN1_TYPE *pAny)
Definition ASN1Util.cpp:65
Definition ASN1Util.h:23
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
Implementation of GeneralAuthenticate response APDUs.
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:114