AusweisApp2
 Alle Klassen Namensbereiche Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Propertys Freundbeziehungen Makrodefinitionen
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
20 DECLARE_STACK_OF(ASN1_OCTET_STRING)
21 #else
22 DEFINE_STACK_OF(ASN1_OCTET_STRING)
23 #endif
24 
25 namespace governikus
26 {
27 
28 
29 class Asn1Util
30 {
31  Asn1Util() = delete;
32  ~Asn1Util() = delete;
33 
34  public:
38  static QByteArray encode(char pTagByte, const QByteArray& pData);
39 };
40 
41 
46 {
47  Asn1ObjectUtil() = delete;
48  ~Asn1ObjectUtil() = delete;
49 
50  public:
51  static ASN1_OBJECT* parseFrom(const QByteArray& pOidAsText);
52  static QByteArray convertTo(const ASN1_OBJECT* pAsn1Object);
53  static QByteArray getValue(const ASN1_OBJECT* pAsn1Object);
54 };
55 
56 
61 {
62  Asn1OctetStringUtil() = delete;
63  ~Asn1OctetStringUtil() = delete;
64 
65  public:
66  static void setValue(const QByteArray& pValue, ASN1_OCTET_STRING* pAsn1OctetString);
67  static QByteArray getValue(ASN1_OCTET_STRING* pAsn1OctetString);
68 };
69 
70 
75 {
76  Asn1StringUtil() = delete;
77  ~Asn1StringUtil() = delete;
78 
79  public:
80  static void setValue(const QString& pString, ASN1_STRING* pOut);
81  static QString getValue(ASN1_STRING* pString);
82 };
83 
84 
89 {
90  Asn1TypeUtil() = delete;
91  ~Asn1TypeUtil() = delete;
92 
93  public:
94  static QByteArray encode(ASN1_TYPE* pAny);
95 };
96 
97 
102 {
103  Asn1IntegerUtil() = delete;
104  ~Asn1IntegerUtil() = delete;
105 
106  public:
107  static QByteArray getValue(const ASN1_INTEGER* pInteger);
108 };
109 
110 
115 {
116  Asn1BCDDateUtil() = delete;
117  ~Asn1BCDDateUtil() = delete;
118 
119  public:
120  static QByteArray convertFromQDateToUnpackedBCD(QDate date);
121  static QDate convertFromUnpackedBCDToQDate(ASN1_OCTET_STRING* pDateBCD);
122 };
123 
124 
125 }
Definition: ASN1Util.h:29
Utility for BCD coded dates.
Definition: ASN1Util.h:114
static void setValue(const QString &pString, ASN1_STRING *pOut)
Definition: ASN1Util.cpp:74
static QByteArray getValue(ASN1_OCTET_STRING *pAsn1OctetString)
Definition: ASN1Util.cpp:63
Utility for OpenSSL type ASN1_OBJECT, i.e.
Definition: ASN1Util.h:45
static ASN1_OBJECT * parseFrom(const QByteArray &pOidAsText)
Definition: ASN1Util.cpp:16
static QByteArray getValue(const ASN1_OBJECT *pAsn1Object)
Definition: ASN1Util.cpp:43
static void setValue(const QByteArray &pValue, ASN1_OCTET_STRING *pAsn1OctetString)
Definition: ASN1Util.cpp:57
Utility for OpenSSL type ASN1_INTEGER, i.e.
Definition: ASN1Util.h:101
static QByteArray convertTo(const ASN1_OBJECT *pAsn1Object)
Definition: ASN1Util.cpp:22
Utility for OpenSSL type ASN1_OCTET_STRING, i.e.
Definition: ASN1Util.h:60
static QByteArray convertFromQDateToUnpackedBCD(QDate date)
Definition: ASN1Util.cpp:133
static QByteArray getValue(const ASN1_INTEGER *pInteger)
Definition: ASN1Util.cpp:123
static QString getValue(ASN1_STRING *pString)
Definition: ASN1Util.cpp:81
static QDate convertFromUnpackedBCDToQDate(ASN1_OCTET_STRING *pDateBCD)
Definition: ASN1Util.cpp:153
static QByteArray encode(ASN1_TYPE *pAny)
Definition: ASN1Util.cpp:102
Utility for OpenSSL type ASN1_STRING, i.e.
Definition: ASN1Util.h:74
Utility for OpenSSL type ASN1_TYPE, i.e.
Definition: ASN1Util.h:88
static QByteArray encode(char pTagByte, const QByteArray &pData)
Encodes the data as ASN.1 object with specified tag byte.
Definition: ASN1Util.cpp:176