AusweisApp2
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
17
21#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
22DECLARE_STACK_OF(ASN1_OCTET_STRING)
23#else
24DEFINE_STACK_OF(ASN1_OCTET_STRING)
25#endif
26
27namespace governikus
28{
29
31{
32 private:
33 Asn1Util() = delete;
34 ~Asn1Util() = delete;
35
36 public:
40 static QByteArray encode(int pClass, int pTag, const QByteArray& pData, bool pConstructed = false);
41};
42
43
48{
49 private:
50 Asn1OctetStringUtil() = delete;
51 ~Asn1OctetStringUtil() = delete;
52
53 public:
54 static void setValue(const QByteArray& pValue, ASN1_OCTET_STRING* pAsn1OctetString);
55 static QByteArray getValue(ASN1_OCTET_STRING* pAsn1OctetString);
56};
57
58
63{
64 private:
65 Asn1StringUtil() = delete;
66 ~Asn1StringUtil() = delete;
67
68 public:
69 static void setValue(const QString& pString, ASN1_STRING* pOut);
70 static QString getValue(const ASN1_STRING* pString);
71};
72
73
78{
79 private:
80 Asn1TypeUtil() = delete;
81 ~Asn1TypeUtil() = delete;
82
83 public:
84#if OPENSSL_VERSION_NUMBER < 0x30000000L
85 static QByteArray encode(ASN1_TYPE* pAny);
86#else
87 static QByteArray encode(const ASN1_TYPE* pAny);
88#endif
89};
90
91
96{
97 private:
98 Asn1IntegerUtil() = delete;
99 ~Asn1IntegerUtil() = delete;
100
101 public:
102 [[nodiscard]] static int getValue(const ASN1_INTEGER* pInteger);
103 [[nodiscard]] static QByteArray encode(int pValue);
104};
105
106
111{
112 private:
113 Asn1BCDDateUtil() = delete;
114 ~Asn1BCDDateUtil() = delete;
115
116 public:
117 static QByteArray convertFromQDateToUnpackedBCD(QDate date);
118 static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING* pDateBCD);
119};
120
121
122} // namespace governikus
Utility for BCD coded dates.
Definition ASN1Util.h:111
static QByteArray convertFromQDateToUnpackedBCD(QDate date)
Definition ASN1Util.cpp:109
static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING *pDateBCD)
Definition ASN1Util.cpp:129
Utility for OpenSSL type ASN1_INTEGER, i.e.
Definition ASN1Util.h:96
static int getValue(const ASN1_INTEGER *pInteger)
Definition ASN1Util.cpp:92
static QByteArray encode(int pValue)
Utility for OpenSSL type ASN1_OCTET_STRING, i.e.
Definition ASN1Util.h:48
static QByteArray getValue(ASN1_OCTET_STRING *pAsn1OctetString)
Definition ASN1Util.cpp:26
static void setValue(const QByteArray &pValue, ASN1_OCTET_STRING *pAsn1OctetString)
Definition ASN1Util.cpp:20
Utility for OpenSSL type ASN1_STRING, i.e.
Definition ASN1Util.h:63
static QString getValue(const ASN1_STRING *pString)
Definition ASN1Util.cpp:44
static void setValue(const QString &pString, ASN1_STRING *pOut)
Definition ASN1Util.cpp:37
Utility for OpenSSL type ASN1_TYPE, i.e.
Definition ASN1Util.h:78
Definition ASN1Util.h:31
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
QByteArray encode() const