AusweisApp
 
Lade ...
Suche ...
Keine Treffer
ASN1Util.h
gehe zur Dokumentation dieser Datei
1
4
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
20class Asn1Util
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
37class Asn1OctetStringUtil
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
52class Asn1StringUtil
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
67class Asn1TypeUtil
68{
69 private:
70 Asn1TypeUtil() = delete;
71 ~Asn1TypeUtil() = delete;
72
73 public:
74#if OPENSSL_VERSION_NUMBER < 0x30000000L
75 static QByteArray encode(ASN1_TYPE* pAny);
76#else
77 static QByteArray encode(const ASN1_TYPE* pAny);
78#endif
79};
80
81
85class Asn1IntegerUtil
86{
87 private:
88 Asn1IntegerUtil() = delete;
89 ~Asn1IntegerUtil() = delete;
90
91 public:
92 [[nodiscard]] static int getValue(const ASN1_INTEGER* pInteger);
93 [[nodiscard]] static QByteArray encode(int pValue);
94};
95
96
100class Asn1BCDDateUtil
101{
102 private:
103 Asn1BCDDateUtil() = delete;
104 ~Asn1BCDDateUtil() = delete;
105
106 public:
107 static QByteArray convertFromQDateToUnpackedBCD(QDate date);
108 static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING* pDateBCD);
109};
110
111
112} // namespace governikus
static QByteArray convertFromQDateToUnpackedBCD(QDate date)
Definition ASN1Util.cpp:107
static QDate convertFromUnpackedBCDToQDate(const ASN1_OCTET_STRING *pDateBCD)
Definition ASN1Util.cpp:127
static int getValue(const ASN1_INTEGER *pInteger)
Definition ASN1Util.cpp:90
static QByteArray encode(int pValue)
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
static QString getValue(const ASN1_STRING *pString)
Definition ASN1Util.cpp:42
static void setValue(const QString &pString, ASN1_STRING *pOut)
Definition ASN1Util.cpp:35
static QByteArray encode(ASN1_TYPE *pAny)
Definition ASN1Util.cpp:65
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