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_RI
126 , ID_SECTOR_PS
127 , ID_EID_TYPE
128 , ID_CARD_EID_TYPE
129 , ID_MOBILE_EID_TYPE
130 , ID_MOBILE_EID_TYPE_SE_CERTIFIED
131 , ID_MOBILE_EID_TYPE_SE_ENDORSED
132 , ID_MOBILE_EID_TYPE_HW_KEYSTORE)
133
134class Oid
135{
136 friend class ::test_Oid;
137
138 private:
139 static QMap<KnownOid, int> cKnownOids;
140
141 ASN1_OBJECT* mObject;
142
143 public:
144 static void createKnownOids();
145
146 Oid();
147 Oid(KnownOid pOid);
148 explicit Oid(const ASN1_OBJECT* pObject);
149 explicit Oid(const QByteArray& pTxt);
150 Oid(const Oid& pOid);
151 Oid(Oid&& pOid) noexcept;
152 ~Oid();
153
154 Oid& operator=(const Oid& pOid);
155 Oid& operator=(Oid&&) noexcept;
156
157 bool isUndefined() const;
158 QByteArray getData() const;
159
160 explicit operator QByteArray() const;
161 bool operator==(const Oid& pOther) const;
162 bool operator!=(const Oid& pOther) const;
163};
164
165inline auto qHash(const Oid& pOid)
166{
167 return qHash(pOid.getData());
168}
169
170
171inline QDebug operator<<(QDebug pDbg, const Oid& pOid)
172{
173 QDebugStateSaver saver(pDbg);
174 pDbg.noquote() << QByteArray(pOid);
175 return pDbg;
176}
177
178
179} // 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:165
application_template_st & operator=(const application_template_st &)=delete
QDebug operator<<(QDebug pDbg, const CommandApdu &pCommandApdu)
Definition: CommandApdu.h:95
bool operator==(const CommandApdu &pLeft, const CommandApdu &pRight)
Definition: CommandApdu.h:106