AusweisApp
Lade ...
Suche ...
Keine Treffer
Oid.h
gehe zur Dokumentation dieser Datei
1
9#pragma once
10
11#include "EnumHelper.h"
12
13#include <QByteArray>
14#include <openssl/objects.h>
15
16
17class test_Oid;
18
19
20namespace governikus
21{
22
24 , ID_SIGNED_DATA
25 , EC_PS_PUBLICKEY
26 , STANDARDIZED_DOMAINPARAMETERS
27 , BSI_DE_PROTOCOLS_SMARTCARD
28 , ID_PK
29 , ID_PK_DH
30 , ID_PK_ECDH
31 , ID_PS_PK
32 , ID_PS_PK_ECDH_ESCHNORR
33 , ID_TA
34 , ID_TA_RSA
35 , ID_TA_RSA_V1_5_SHA_1
36 , ID_TA_RSA_V1_5_SHA_256
37 , ID_TA_RSA_PSS_SHA_1
38 , ID_TA_RSA_PSS_SHA_256
39 , ID_TA_RSA_V1_5_SHA_512
40 , ID_TA_RSA_PSS_SHA_512
41 , ID_TA_ECDSA
42 , ID_TA_ECDSA_SHA_1
43 , ID_TA_ECDSA_SHA_224
44 , ID_TA_ECDSA_SHA_256
45 , ID_TA_ECDSA_SHA_384
46 , ID_TA_ECDSA_SHA_512
47 , ID_CA
48 , ID_CA_DH
49 , ID_CA_DH_3DES_CBC_CBC
50 , ID_CA_DH_AES_CBC_CMAC_128
51 , ID_CA_DH_AES_CBC_CMAC_192
52 , ID_CA_DH_AES_CBC_CMAC_256
53 , ID_CA_ECDH
54 , ID_CA_ECDH_3DES_CBC_CBC
55 , ID_CA_ECDH_AES_CBC_CMAC_128
56 , ID_CA_ECDH_AES_CBC_CMAC_192
57 , ID_CA_ECDH_AES_CBC_CMAC_256
58 , ID_PACE
59 , ID_PACE_DH_GM
60 , ID_PACE_DH_GM_3DES_CBC_CBC
61 , ID_PACE_DH_GM_AES_CBC_CMAC_128
62 , ID_PACE_DH_GM_AES_CBC_CMAC_192
63 , ID_PACE_DH_GM_AES_CBC_CMAC_256
64 , ID_PACE_ECDH_GM
65 , ID_PACE_ECDH_GM_3DES_CBC_CBC
66 , ID_PACE_ECDH_GM_AES_CBC_CMAC_128
67 , ID_PACE_ECDH_GM_AES_CBC_CMAC_192
68 , ID_PACE_ECDH_GM_AES_CBC_CMAC_256
69 , ID_PACE_DH_IM
70 , ID_PACE_DH_IM_3DES_CBC_CBC
71 , ID_PACE_DH_IM_AES_CBC_CMAC_128
72 , ID_PACE_DH_IM_AES_CBC_CMAC_192
73 , ID_PACE_DH_IM_AES_CBC_CMAC_256
74 , ID_PACE_ECDH_IM
75 , ID_PACE_ECDH_IM_3DES_CBC_CBC
76 , ID_PACE_ECDH_IM_AES_CBC_CMAC_128
77 , ID_PACE_ECDH_IM_AES_CBC_CMAC_192
78 , ID_PACE_ECDH_IM_AES_CBC_CMAC_256
79 , ID_PACE_ECDH_CAM
80 , ID_PACE_ECDH_CAM_AES_CBC_CMAC_128
81 , ID_PACE_ECDH_CAM_AES_CBC_CMAC_192
82 , ID_PACE_ECDH_CAM_AES_CBC_CMAC_256
83 , ID_RI
84 , ID_RI_DH
85 , ID_RI_DH_SHA_1
86 , ID_RI_DH_SHA_224
87 , ID_RI_DH_SHA_256
88 , ID_RI_DH_SHA_384
89 , ID_RI_DH_SHA_512
90 , ID_RI_ECDH
91 , ID_RI_ECDH_SHA_1
92 , ID_RI_ECDH_SHA_224
93 , ID_RI_ECDH_SHA_256
94 , ID_RI_ECDH_SHA_384
95 , ID_RI_ECDH_SHA_512
96 , ID_CI
97 , ID_EID_SECURITY
98 , ID_PT
99 , ID_PS
100 , ID_PSA
101 , ID_PSA_ECDH_ECSCHNORR
102 , ID_PSA_ECDH_ECSCHNORR_SHA_256
103 , ID_PSA_ECDH_ECSCHNORR_SHA_384
104 , ID_PSA_ECDH_ECSCHNORR_SHA_512
105 , ID_PASSWORDTYPE
106 , ID_PASSWORDTYPE_MRZ
107 , ID_PASSWORDTYPE_CAN
108 , ID_PASSWORDTYPE_PIN
109 , ID_PASSWORDTYPE_PUK
110 , ID_AUXILIARY_DATA
111 , ID_DATE_OF_BIRTH
112 , ID_DATE_OF_EXPIRY
113 , ID_MUNICIPALITY_ID
114 , ID_PSM_MESSAGE
115 , ID_SECURITY_OBJECT
116 , ID_ROLES
117 , ID_IS
118 , ID_AT
119 , ID_ST
120 , ID_EXTENSIONS
121 , ID_DESCRIPTION
122 , ID_PLAIN_FORMAT
123 , ID_HTML_FORMAT
124 , ID_PFD_FORMAT
125 , ID_SECTOR
126 , ID_EID_TYPE
127 , ID_CARD_EID_TYPE
128 , ID_MOBILE_EID_TYPE
129 , ID_MOBILE_EID_TYPE_SE_CERTIFIED
130 , ID_MOBILE_EID_TYPE_SE_ENDORSED
131 , ID_MOBILE_EID_TYPE_HW_KEYSTORE)
132
133class Oid
134{
135 friend class ::test_Oid;
136
137 private:
138 static QMap<KnownOid, int> cKnownOids;
139
140 ASN1_OBJECT* mObject;
141
142 public:
143 static void createKnownOids();
144
145 Oid();
146 Oid(KnownOid pOid);
147 explicit Oid(const ASN1_OBJECT* pObject);
148 explicit Oid(const QByteArray& pTxt);
149 Oid(const Oid& pOid);
150 Oid(Oid&& pOid) noexcept;
151 ~Oid();
152
153 Oid& operator=(const Oid& pOid);
154 Oid& operator=(Oid&&) noexcept;
155
156 bool isUndefined() const;
157 QByteArray getData() const;
158
159 explicit operator QByteArray() const;
160 bool operator==(const Oid& pOther) const;
161 bool operator!=(const Oid& pOther) const;
162};
163
164inline auto qHash(const Oid& pOid)
165{
166 return qHash(pOid.getData());
167}
168
169
170inline QDebug operator<<(QDebug pDbg, const Oid& pOid)
171{
172 QDebugStateSaver saver(pDbg);
173 pDbg.noquote() << QByteArray(pOid);
174 return pDbg;
175}
176
177
178} // namespace governikus
#define defineEnumType(enumName,...)
Definition EnumHelper.h:90
Implementation of GeneralAuthenticate response APDUs.
Definition CommandApdu.h:16
bool operator!=(const CVCertificate &pLeft, const CVCertificate &pRight)
Definition CVCertificate.h:81
auto qHash(const Oid &pOid)
Definition Oid.h:164
application_template_st & operator=(const application_template_st &)=delete
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition CommandApdu.h:94
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition CommandApdu.h:105