AusweisApp2
Lade ...
Suche ...
Keine Treffer
ASN1Util.h
gehe zur Dokumentation dieser Datei
1
7#pragma once
8
9#include <openssl/asn1t.h>
10#include <openssl/err.h>
11
12#include <QSharedPointer>
13#include <QString>
14
15
19#if OPENSSL_VERSION_NUMBER < 0x10100000L || defined(LIBRESSL_VERSION_NUMBER)
20DECLARE_STACK_OF(ASN1_OCTET_STRING)
21#else
22DEFINE_STACK_OF(ASN1_OCTET_STRING)
23#endif
24
25namespace governikus
26{
27
29{
30 private:
31 Asn1Util() = delete;
32 ~Asn1Util() = delete;
33
34 public:
38 static QByteArray encode(int pClass, int pTag, const QByteArray& pData, bool pConstructed = false);
39};
40
41
46{
47 private:
48 Asn1OctetStringUtil() = delete;
49 ~Asn1OctetStringUtil() = delete;
50
51 public:
52 static void setValue(const QByteArray& pValue, ASN1_OCTET_STRING* pAsn1OctetString);
53 static QByteArray getValue(ASN1_OCTET_STRING* pAsn1OctetString);
54};
55
56
61{
62 private:
63 Asn1StringUtil() = delete;
64 ~Asn1StringUtil() = delete;
65
66 public:
67 static void setValue(const QString& pString, ASN1_STRING* pOut);
68 static QString getValue(const ASN1_STRING* pString);
69};
70
71
76{
77 private:
78 Asn1TypeUtil() = delete;
79 ~Asn1TypeUtil() = delete;
80
81 public:
82#if OPENSSL_VERSION_NUMBER < 0x30000000L
83 static QByteArray encode(ASN1_TYPE* pAny);
84#else
85 static QByteArray encode(const ASN1_TYPE* pAny);
86#endif
87};
88
89
94{
95 private:
96 Asn1IntegerUtil() = delete;
97 ~Asn1IntegerUtil() = delete;
98
99 public:
100 [[nodiscard]] static int getValue(const ASN1_INTEGER* pInteger);
101 [[nodiscard]] static QByteArray encode(int pValue);
102};
103
104
109{
110 private:
111 Asn1BCDDateUtil() = delete;
112 ~Asn1BCDDateUtil() = delete;
113
114 public:
115 static QByteArray convertFromQDateToUnpackedBCD(QDate date);
116 static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING* pDateBCD);
117};
118
119
120} // namespace governikus
Utility for BCD coded dates.
Definition: ASN1Util.h:109
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:94
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:46
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:61
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:76
Definition: ASN1Util.h:29
Implementation of GeneralAuthenticate response APDUs.
Definition: CommandApdu.h:16
QByteArray encode() const