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