OpenCore  1.0.4
OpenCore Bootloader
Loading...
Searching...
No Matches
oids.c
Go to the documentation of this file.
1/* Copyright (c) 2005-2009 Apple Inc. All Rights Reserved. */
2
3/*
4 * oids.c - OID consts
5 *
6 * Created Nov. 11 2005 by dmitch
7 */
8
9#include "libDER.h"
10#include "oids.h"
11
12#define OID_ISO_CCITT_DIR_SERVICE 85
13#define OID_DS OID_ISO_CCITT_DIR_SERVICE
14#define OID_ATTR_TYPE OID_DS, 4
15#define OID_EXTENSION OID_DS, 29
16#define OID_ISO_STANDARD 40
17#define OID_ISO_MEMBER 42
18#define OID_US OID_ISO_MEMBER, 134, 72
19
20#define OID_ISO_IDENTIFIED_ORG 43
21#define OID_OSINET OID_ISO_IDENTIFIED_ORG, 4
22#define OID_GOSIP OID_ISO_IDENTIFIED_ORG, 5
23#define OID_DOD OID_ISO_IDENTIFIED_ORG, 6
24#define OID_OIW OID_ISO_IDENTIFIED_ORG, 14
25
26/* From the PKCS Standards */
27#define OID_RSA OID_US, 134, 247, 13
28#define OID_RSA_HASH OID_RSA, 2
29#define OID_RSA_ENCRYPT OID_RSA, 3
30#define OID_PKCS OID_RSA, 1
31#define OID_PKCS_1 OID_PKCS, 1
32#define OID_PKCS_2 OID_PKCS, 2
33#define OID_PKCS_3 OID_PKCS, 3
34#define OID_PKCS_4 OID_PKCS, 4
35#define OID_PKCS_5 OID_PKCS, 5
36#define OID_PKCS_6 OID_PKCS, 6
37#define OID_PKCS_7 OID_PKCS, 7
38#define OID_PKCS_8 OID_PKCS, 8
39#define OID_PKCS_9 OID_PKCS, 9
40#define OID_PKCS_10 OID_PKCS, 10
41#define OID_PKCS_11 OID_PKCS, 11
42#define OID_PKCS_12 OID_PKCS, 12
43
44/* ANSI X9.62 */
45#define OID_ANSI_X9_62 OID_US, 206, 61
46#define OID_PUBLIC_KEY_TYPE OID_ANSI_X9_62, 2
47#define OID_EC_SIG_TYPE OID_ANSI_X9_62, 4
48#define OID_ECDSA_WITH_SHA2 OID_EC_SIG_TYPE, 3
49
50/* ANSI X9.42 */
51#define OID_ANSI_X9_42 OID_US, 206, 62, 2
52#define OID_ANSI_X9_42_SCHEME OID_ANSI_X9_42, 3
53#define OID_ANSI_X9_42_NAMED_SCHEME OID_ANSI_X9_42, 4
54
55/* DOD IANA Security releated objects. */
56#define OID_IANA OID_DOD, 1, 5
57
58/* Kerberos PKINIT */
59#define OID_KERBv5 OID_IANA, 2
60#define OID_KERBv5_PKINIT OID_KERBv5, 3
61
62/* DOD IANA Mechanisms. */
63#define OID_MECHANISMS OID_IANA, 5
64
65/* PKIX */
66#define OID_PKIX OID_MECHANISMS, 7
67#define OID_PE OID_PKIX, 1
68#define OID_QT OID_PKIX, 2
69#define OID_KP OID_PKIX, 3
70#define OID_OTHER_NAME OID_PKIX, 8
71#define OID_PDA OID_PKIX, 9
72#define OID_QCS OID_PKIX, 11
73#define OID_AD OID_PKIX, 48
74#define OID_AD_OCSP OID_AD, 1
75#define OID_AD_CAISSUERS OID_AD, 2
76
77/* ISAKMP */
78#define OID_ISAKMP OID_MECHANISMS, 8
79
80/* ETSI */
81#define OID_ETSI 0x04, 0x00
82#define OID_ETSI_QCS 0x04, 0x00, 0x8E, 0x46, 0x01
83
84#define OID_OIW_SECSIG OID_OIW, 3
85
86#define OID_OIW_ALGORITHM OID_OIW_SECSIG, 2
87
88/* NIST defined digest algorithm arc (2, 16, 840, 1, 101, 3, 4, 2) */
89#define OID_NIST_HASHALG 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02
90
91/*
92 * Apple-specific OID bases
93 */
94
95/*
96 * apple OBJECT IDENTIFIER ::=
97 * { iso(1) member-body(2) US(840) 113635 }
98 *
99 * BER = 06 06 2A 86 48 86 F7 63
100 */
101#define APPLE_OID OID_US, 0x86, 0xf7, 0x63
102
103/* appleDataSecurity OBJECT IDENTIFIER ::=
104 * { apple 100 }
105 * { 1 2 840 113635 100 }
106 *
107 * BER = 06 07 2A 86 48 86 F7 63 64
108 */
109#define APPLE_ADS_OID APPLE_OID, 0x64
110
111/*
112 * appleTrustPolicy OBJECT IDENTIFIER ::=
113 * { appleDataSecurity 1 }
114 * { 1 2 840 113635 100 1 }
115 *
116 * BER = 06 08 2A 86 48 86 F7 63 64 01
117 */
118#define APPLE_TP_OID APPLE_ADS_OID, 1
119
120/*
121 * appleSecurityAlgorithm OBJECT IDENTIFIER ::=
122 * { appleDataSecurity 2 }
123 * { 1 2 840 113635 100 2 }
124 *
125 * BER = 06 08 2A 86 48 86 F7 63 64 02
126 */
127#define APPLE_ALG_OID APPLE_ADS_OID, 2
128
129/*
130 * appleDotMacCertificate OBJECT IDENTIFIER ::=
131 * { appleDataSecurity 3 }
132 * { 1 2 840 113635 100 3 }
133 */
134#define APPLE_DOTMAC_CERT_OID APPLE_ADS_OID, 3
135
136/*
137 * Basis of Policy OIDs for .mac TP requests
138 *
139 * dotMacCertificateRequest OBJECT IDENTIFIER ::=
140 * { appleDotMacCertificate 1 }
141 * { 1 2 840 113635 100 3 1 }
142 */
143#define APPLE_DOTMAC_CERT_REQ_OID APPLE_DOTMAC_CERT_OID, 1
144
145/*
146 * Basis of .mac Certificate Extensions
147 *
148 * dotMacCertificateExtension OBJECT IDENTIFIER ::=
149 * { appleDotMacCertificate 2 }
150 * { 1 2 840 113635 100 3 2 }
151 */
152#define APPLE_DOTMAC_CERT_EXTEN_OID APPLE_DOTMAC_CERT_OID, 2
153
154/*
155 * Basis of .mac Certificate request OID/value identitifiers
156 *
157 * dotMacCertificateRequestValues OBJECT IDENTIFIER ::=
158 * { appleDotMacCertificate 3 }
159 * { 1 2 840 113635 100 3 3 }
160 */
161#define APPLE_DOTMAC_CERT_REQ_VALUE_OID APPLE_DOTMAC_CERT_OID, 3
162
163/*
164 * Basis of Apple-specific extended key usages
165 *
166 * appleExtendedKeyUsage OBJECT IDENTIFIER ::=
167 * { appleDataSecurity 4 }
168 * { 1 2 840 113635 100 4 }
169 */
170#define APPLE_EKU_OID APPLE_ADS_OID, 4
171
172/*
173 * Basis of Apple Code Signing extended key usages
174 * appleCodeSigning OBJECT IDENTIFIER ::=
175 * { appleExtendedKeyUsage 1 }
176 * { 1 2 840 113635 100 4 1}
177 */
178#define APPLE_EKU_CODE_SIGNING APPLE_EKU_OID, 1
179#define APPLE_EKU_APPLE_ID APPLE_EKU_OID, 7
180
181/*
182 * Basis of Apple-specific Certific Policy IDs.
183 * appleCertificatePolicies OBJECT IDENTIFIER ::=
184 * { appleDataSecurity 5 }
185 * { 1 2 840 113635 100 5 }
186 */
187#define APPLE_CERT_POLICIES APPLE_ADS_OID, 5
188
189/*
190 * Basis of Apple-specific Signing extensions
191 * { appleDataSecurity 6 }
192 */
193#define APPLE_CERT_EXT APPLE_ADS_OID, 6
194/* Apple Intermediate Marker OIDs */
195#define APPLE_CERT_EXT_INTERMEDIATE_MARKER APPLE_CERT_EXT, 2
196/* Apple Apple ID Intermediate Marker */
197#define APPLE_CERT_EXT_INTERMEDIATE_MARKER_APPLEID APPLE_CERT_EXT_INTERMEDIATE_MARKER, 3
198
199/* Secure Boot Embedded Image3 value,
200 co-opted by desktop for "Apple Released Code Signature", without value */
201#define APPLE_SBOOT_CERT_EXTEN_SBOOT_SPEC_OID APPLE_ADS_OID, 6, 1, 1
202/* iPhone Provisioning Profile Signing leaf */
203#define APPLE_PROVISIONING_PROFILE_OID APPLE_ADS_OID, 6, 2, 2, 1
204/* iPhone Application Signing leaf */
205#define APPLE_APP_SIGINING_OID APPLE_ADS_OID, 6, 1, 3
206
207/*
208 * Netscape OIDs.
209 */
210#define NETSCAPE_BASE_OID 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42
211
212/*
213 * Netscape cert extension.
214 *
215 * netscape-cert-extension OBJECT IDENTIFIER ::=
216 * { 2 16 840 1 113730 1 }
217 *
218 * BER = 06 08 60 86 48 01 86 F8 42 01
219 */
220#define NETSCAPE_CERT_EXTEN NETSCAPE_BASE_OID, 0x01
221
222#define NETSCAPE_CERT_POLICY NETSCAPE_BASE_OID, 0x04
223
224/* Entrust OIDs. */
225#define ENTRUST_BASE_OID OID_US, 0x86, 0xf6, 0x7d
226
227/*
228 * Entrust cert extension.
229 *
230 * entrust-cert-extension OBJECT IDENTIFIER ::=
231 * { 1 2 840 113533 7 65 }
232 *
233 * BER = 06 08 2A 86 48 86 F6 7D 07 41
234 */
235#define ENTRUST_CERT_EXTEN ENTRUST_BASE_OID, 0x07, 0x41
236
237/* Microsfot OIDs. */
238#define MICROSOFT_BASE_OID OID_DOD, 0x01, 0x04, 0x01, 0x82, 0x37
239#define MICROSOFT_ENROLLMENT_OID MICROSOFT_BASE_OID, 0x14
240
241/* Algorithm OIDs. */
242static const DERByte
243 _oidRsa[] = { OID_PKCS_1, 1 },
244 _oidMd2Rsa[] = { OID_PKCS_1, 2 },
245 _oidMd5Rsa[] = { OID_PKCS_1, 4 },
246 _oidSha1Rsa[] = { OID_PKCS_1, 5 },
247 _oidSha256Rsa[] = { OID_PKCS_1, 11 },
248 _oidEcPubKey[] = { OID_PUBLIC_KEY_TYPE, 1 },
249 _oidSha1Ecdsa[] = { OID_EC_SIG_TYPE, 1 }, /* rfc3279 */
250 _oidSha224Ecdsa[] = { OID_ECDSA_WITH_SHA2, 1 }, /* rfc5758 */
251 _oidSha256Ecdsa[] = { OID_ECDSA_WITH_SHA2, 2 }, /* rfc5758 */
252 _oidSha384Ecdsa[] = { OID_ECDSA_WITH_SHA2, 3 }, /* rfc5758 */
253 _oidSha512Ecdsa[] = { OID_ECDSA_WITH_SHA2, 4 }, /* rfc5758 */
254 _oidMd2[] = { OID_RSA_HASH, 2 },
255 _oidMd4[] = { OID_RSA_HASH, 4 },
256 _oidMd5[] = { OID_RSA_HASH, 5 },
257 _oidSha1[] = { OID_OIW_ALGORITHM, 26 },
258 _oidSha256[] = { OID_NIST_HASHALG, 1 },
259 _oidSha384[] = { OID_NIST_HASHALG, 2 },
260 _oidSha512[] = { OID_NIST_HASHALG, 3 },
261 _oidSha224[] = { OID_NIST_HASHALG, 4 };
262
263const DERItem
264 oidRsa = { (DERByte *)_oidRsa,
265 sizeof(_oidRsa) },
266 oidMd2Rsa = { (DERByte *)_oidMd2Rsa,
267 sizeof(_oidMd2Rsa) },
268 oidMd5Rsa = { (DERByte *)_oidMd5Rsa,
269 sizeof(_oidMd5Rsa) },
270 oidSha1Rsa = { (DERByte *)_oidSha1Rsa,
271 sizeof(_oidSha1Rsa) },
272 oidSha256Rsa = { (DERByte *)_oidSha256Rsa,
273 sizeof(_oidSha256Rsa) },
274 oidEcPubKey = { (DERByte *)_oidEcPubKey,
275 sizeof(_oidEcPubKey) },
276 oidSha1Ecdsa = { (DERByte *)_oidSha1Ecdsa,
277 sizeof(_oidSha1Ecdsa) },
278 oidSha224Ecdsa = { (DERByte *)_oidSha224Ecdsa,
279 sizeof(_oidSha224Ecdsa) },
280 oidSha256Ecdsa = { (DERByte *)_oidSha256Ecdsa,
281 sizeof(_oidSha256Ecdsa) },
282 oidSha384Ecdsa = { (DERByte *)_oidSha384Ecdsa,
283 sizeof(_oidSha384Ecdsa) },
284 oidSha512Ecdsa = { (DERByte *)_oidSha512Ecdsa,
285 sizeof(_oidSha512Ecdsa) },
286 oidMd2 = { (DERByte *)_oidMd2,
287 sizeof(_oidMd2) },
288 oidMd4 = { (DERByte *)_oidMd4,
289 sizeof(_oidMd4) },
290 oidMd5 = { (DERByte *)_oidMd5,
291 sizeof(_oidMd5) },
292 oidSha1 = { (DERByte *)_oidSha1,
293 sizeof(_oidSha1) },
294 oidSha256 = { (DERByte *)_oidSha256,
295 sizeof(_oidSha256) },
296 oidSha384 = { (DERByte *)_oidSha384,
297 sizeof(_oidSha384) },
298 oidSha512 = { (DERByte *)_oidSha512,
299 sizeof(_oidSha512) },
300 oidSha224 = { (DERByte *)_oidSha224,
301 sizeof(_oidSha224) };
302
303/* Extension OIDs. */
304static const DERByte
305 _oidSubjectKeyIdentifier[] = { OID_EXTENSION, 14 },
306 _oidKeyUsage[] = { OID_EXTENSION, 15 },
307 _oidPrivateKeyUsagePeriod[] = { OID_EXTENSION, 16 },
308 _oidSubjectAltName[] = { OID_EXTENSION, 17 },
309 _oidIssuerAltName[] = { OID_EXTENSION, 18 },
310 _oidBasicConstraints[] = { OID_EXTENSION, 19 },
311 _oidCrlDistributionPoints[] = { OID_EXTENSION, 31 },
312 _oidCertificatePolicies[] = { OID_EXTENSION, 32 },
313 _oidAnyPolicy[] = { OID_EXTENSION, 32, 0 },
314 _oidPolicyMappings[] = { OID_EXTENSION, 33 },
315 _oidAuthorityKeyIdentifier[] = { OID_EXTENSION, 35 },
316 _oidPolicyConstraints[] = { OID_EXTENSION, 36 },
317 _oidExtendedKeyUsage[] = { OID_EXTENSION, 37 },
318 _oidAnyExtendedKeyUsage[] = { OID_EXTENSION, 37, 0 },
319 _oidInhibitAnyPolicy[] = { OID_EXTENSION, 54 },
320 _oidAuthorityInfoAccess[] = { OID_PE, 1 },
321 _oidSubjectInfoAccess[] = { OID_PE, 11 },
322 _oidAdOCSP[] = { OID_AD_OCSP },
323 _oidAdCAIssuer[] = { OID_AD_CAISSUERS },
324 _oidNetscapeCertType[] = { NETSCAPE_CERT_EXTEN, 1 },
325 _oidEntrustVersInfo[] = { ENTRUST_CERT_EXTEN, 0 },
326 _oidMSNTPrincipalName[] = { MICROSOFT_ENROLLMENT_OID, 2, 3 },
327 /* Policy Qualifier IDs for Internet policy qualifiers. */
328 _oidQtCps[] = { OID_QT, 1 },
329 _oidQtUNotice[] = { OID_QT, 2 },
330 /* X.501 Name IDs. */
331 _oidCommonName[] = { OID_ATTR_TYPE, 3 },
332 _oidCountryName[] = { OID_ATTR_TYPE, 6 },
333 _oidLocalityName[] = { OID_ATTR_TYPE, 7 },
334 _oidStateOrProvinceName[] = { OID_ATTR_TYPE, 8 },
335 _oidOrganizationName[] = { OID_ATTR_TYPE, 10 },
336 _oidOrganizationalUnitName[] = { OID_ATTR_TYPE, 11 },
337 _oidDescription[] = { OID_ATTR_TYPE, 13 },
338 _oidEmailAddress[] = { OID_PKCS_9, 1 },
339 _oidFriendlyName[] = { OID_PKCS_9, 20 },
340 _oidLocalKeyId[] = { OID_PKCS_9, 21 },
341 _oidExtendedKeyUsageServerAuth[] = { OID_KP, 1 },
342 _oidExtendedKeyUsageClientAuth[] = { OID_KP, 2 },
343 _oidExtendedKeyUsageCodeSigning[] = { OID_KP, 3 },
344 _oidExtendedKeyUsageEmailProtection[] = { OID_KP, 4 },
345 _oidExtendedKeyUsageOCSPSigning[] = { OID_KP, 9 },
346 _oidExtendedKeyUsageIPSec[] = { OID_ISAKMP, 2, 2 },
347 _oidExtendedKeyUsageMicrosoftSGC[] = { MICROSOFT_BASE_OID, 10, 3, 3 },
348 _oidExtendedKeyUsageNetscapeSGC[] = { NETSCAPE_CERT_POLICY, 1 },
349 _oidAppleSecureBootCertSpec[] = { APPLE_SBOOT_CERT_EXTEN_SBOOT_SPEC_OID },
350 _oidAppleProvisioningProfile[] = {APPLE_PROVISIONING_PROFILE_OID },
351 _oidAppleApplicationSigning[] = { APPLE_APP_SIGINING_OID },
352 _oidAppleExtendedKeyUsageAppleID[] = { APPLE_EKU_APPLE_ID },
353 _oidAppleIntmMarkerAppleID[] = { APPLE_CERT_EXT_INTERMEDIATE_MARKER_APPLEID };
354
355const DERItem
356 oidSubjectKeyIdentifier = { (DERByte *)_oidSubjectKeyIdentifier,
357 sizeof(_oidSubjectKeyIdentifier) },
358 oidKeyUsage = { (DERByte *)_oidKeyUsage,
359 sizeof(_oidKeyUsage) },
360 oidPrivateKeyUsagePeriod = { (DERByte *)_oidPrivateKeyUsagePeriod,
361 sizeof(_oidPrivateKeyUsagePeriod) },
362 oidSubjectAltName = { (DERByte *)_oidSubjectAltName,
363 sizeof(_oidSubjectAltName) },
364 oidIssuerAltName = { (DERByte *)_oidIssuerAltName,
365 sizeof(_oidIssuerAltName) },
366 oidBasicConstraints = { (DERByte *)_oidBasicConstraints,
367 sizeof(_oidBasicConstraints) },
368 oidCrlDistributionPoints = { (DERByte *)_oidCrlDistributionPoints,
369 sizeof(_oidCrlDistributionPoints) },
370 oidCertificatePolicies = { (DERByte *)_oidCertificatePolicies,
371 sizeof(_oidCertificatePolicies) },
372 oidAnyPolicy = { (DERByte *)_oidAnyPolicy,
373 sizeof(_oidAnyPolicy) },
374 oidPolicyMappings = { (DERByte *)_oidPolicyMappings,
375 sizeof(_oidPolicyMappings) },
376 oidAuthorityKeyIdentifier = { (DERByte *)_oidAuthorityKeyIdentifier,
377 sizeof(_oidAuthorityKeyIdentifier) },
378 oidPolicyConstraints = { (DERByte *)_oidPolicyConstraints,
379 sizeof(_oidPolicyConstraints) },
380 oidExtendedKeyUsage = { (DERByte *)_oidExtendedKeyUsage,
381 sizeof(_oidExtendedKeyUsage) },
382 oidAnyExtendedKeyUsage = { (DERByte *)_oidAnyExtendedKeyUsage,
383 sizeof(_oidAnyExtendedKeyUsage) },
384 oidInhibitAnyPolicy = { (DERByte *)_oidInhibitAnyPolicy,
385 sizeof(_oidInhibitAnyPolicy) },
386 oidAuthorityInfoAccess = { (DERByte *)_oidAuthorityInfoAccess,
387 sizeof(_oidAuthorityInfoAccess) },
388 oidSubjectInfoAccess = { (DERByte *)_oidSubjectInfoAccess,
389 sizeof(_oidSubjectInfoAccess) },
390 oidAdOCSP = { (DERByte *)_oidAdOCSP,
391 sizeof(_oidAdOCSP) },
392 oidAdCAIssuer = { (DERByte *)_oidAdCAIssuer,
393 sizeof(_oidAdCAIssuer) },
394 oidNetscapeCertType = { (DERByte *)_oidNetscapeCertType,
395 sizeof(_oidNetscapeCertType) },
396 oidEntrustVersInfo = { (DERByte *)_oidEntrustVersInfo,
397 sizeof(_oidEntrustVersInfo) },
398 oidMSNTPrincipalName = { (DERByte *)_oidMSNTPrincipalName,
399 sizeof(_oidMSNTPrincipalName) },
400 /* Policy Qualifier IDs for Internet policy qualifiers. */
401 oidQtCps = { (DERByte *)_oidQtCps,
402 sizeof(_oidQtCps) },
403 oidQtUNotice = { (DERByte *)_oidQtUNotice,
404 sizeof(_oidQtUNotice) },
405 /* X.501 Name IDs. */
406 oidCommonName = { (DERByte *)_oidCommonName,
407 sizeof(_oidCommonName) },
408 oidCountryName = { (DERByte *)_oidCountryName,
409 sizeof(_oidCountryName) },
410 oidLocalityName = { (DERByte *)_oidLocalityName,
411 sizeof(_oidLocalityName) },
412 oidStateOrProvinceName = { (DERByte *)_oidStateOrProvinceName,
413 sizeof(_oidStateOrProvinceName) },
414 oidOrganizationName = { (DERByte *)_oidOrganizationName,
415 sizeof(_oidOrganizationName) },
416 oidOrganizationalUnitName = { (DERByte *)_oidOrganizationalUnitName,
417 sizeof(_oidOrganizationalUnitName) },
418 oidDescription = { (DERByte *)_oidDescription,
419 sizeof(_oidDescription) },
420 oidEmailAddress = { (DERByte *)_oidEmailAddress,
421 sizeof(_oidEmailAddress) },
422 oidFriendlyName = { (DERByte *)_oidFriendlyName,
423 sizeof(_oidFriendlyName) },
424 oidLocalKeyId = { (DERByte *)_oidLocalKeyId,
425 sizeof(_oidLocalKeyId) },
426 oidExtendedKeyUsageServerAuth = { (DERByte *)_oidExtendedKeyUsageServerAuth,
427 sizeof(_oidExtendedKeyUsageServerAuth) },
428 oidExtendedKeyUsageClientAuth = { (DERByte *)_oidExtendedKeyUsageClientAuth,
429 sizeof(_oidExtendedKeyUsageClientAuth) },
430 oidExtendedKeyUsageCodeSigning = { (DERByte *)_oidExtendedKeyUsageCodeSigning,
431 sizeof(_oidExtendedKeyUsageCodeSigning) },
432 oidExtendedKeyUsageEmailProtection = { (DERByte *)_oidExtendedKeyUsageEmailProtection,
433 sizeof(_oidExtendedKeyUsageEmailProtection) },
434 oidExtendedKeyUsageOCSPSigning = { (DERByte *)_oidExtendedKeyUsageOCSPSigning,
435 sizeof(_oidExtendedKeyUsageOCSPSigning) },
436 oidExtendedKeyUsageIPSec = { (DERByte *)_oidExtendedKeyUsageIPSec,
437 sizeof(_oidExtendedKeyUsageIPSec) },
438 oidExtendedKeyUsageMicrosoftSGC = { (DERByte *)_oidExtendedKeyUsageMicrosoftSGC,
439 sizeof(_oidExtendedKeyUsageMicrosoftSGC) },
440 oidExtendedKeyUsageNetscapeSGC = { (DERByte *)_oidExtendedKeyUsageNetscapeSGC,
441 sizeof(_oidExtendedKeyUsageNetscapeSGC) },
442 oidAppleSecureBootCertSpec = { (DERByte *)_oidAppleSecureBootCertSpec,
443 sizeof(_oidAppleSecureBootCertSpec) },
444 oidAppleProvisioningProfile = { (DERByte *)_oidAppleProvisioningProfile,
445 sizeof(_oidAppleProvisioningProfile) },
446 oidAppleApplicationSigning = { (DERByte *)_oidAppleApplicationSigning,
447 sizeof(_oidAppleApplicationSigning) },
448 oidAppleExtendedKeyUsageAppleID = { (DERByte *)_oidAppleExtendedKeyUsageAppleID,
449 sizeof(_oidAppleExtendedKeyUsageAppleID) },
450 oidAppleIntmMarkerAppleID = { (DERByte *)_oidAppleIntmMarkerAppleID,
451 sizeof(_oidAppleIntmMarkerAppleID) };
452
453
454bool DEROidCompare(const DERItem *oid1, const DERItem *oid2) {
455 if ((oid1 == NULL) || (oid2 == NULL)) {
456 return false;
457 }
458 if (oid1->length != oid2->length) {
459 return false;
460 }
461 if (!DERMemcmp(oid1->data, oid2->data, oid1->length)) {
462 return true;
463 } else {
464 return false;
465 }
466}
uint8_t DERByte
#define DERMemcmp(b1, b2, len)
#define APPLE_SBOOT_CERT_EXTEN_SBOOT_SPEC_OID
Definition oids.c:201
const DERItem oidDescription
Definition oids.c:418
#define OID_AD_OCSP
Definition oids.c:74
const DERItem oidMd2
Definition oids.c:286
#define OID_KP
Definition oids.c:69
const DERItem oidAppleExtendedKeyUsageAppleID
Definition oids.c:448
const DERItem oidRsa
Definition oids.c:264
const DERItem oidCountryName
Definition oids.c:408
const DERItem oidAuthorityKeyIdentifier
Definition oids.c:376
#define OID_PE
Definition oids.c:67
#define NETSCAPE_CERT_EXTEN
Definition oids.c:220
const DERItem oidPrivateKeyUsagePeriod
Definition oids.c:360
#define OID_EXTENSION
Definition oids.c:15
#define NETSCAPE_CERT_POLICY
Definition oids.c:222
const DERItem oidIssuerAltName
Definition oids.c:364
const DERItem oidAnyPolicy
Definition oids.c:372
const DERItem oidBasicConstraints
Definition oids.c:366
#define OID_PUBLIC_KEY_TYPE
Definition oids.c:46
const DERItem oidCrlDistributionPoints
Definition oids.c:368
const DERItem oidCertificatePolicies
Definition oids.c:370
const DERItem oidSha224Ecdsa
Definition oids.c:278
const DERItem oidSha256
Definition oids.c:294
#define OID_EC_SIG_TYPE
Definition oids.c:47
const DERItem oidExtendedKeyUsageServerAuth
Definition oids.c:426
const DERItem oidSha384
Definition oids.c:296
const DERItem oidSubjectKeyIdentifier
Definition oids.c:356
#define APPLE_PROVISIONING_PROFILE_OID
Definition oids.c:203
const DERItem oidSha224
Definition oids.c:300
const DERItem oidPolicyMappings
Definition oids.c:374
const DERItem oidKeyUsage
Definition oids.c:358
#define OID_QT
Definition oids.c:68
const DERItem oidMSNTPrincipalName
Definition oids.c:398
const DERItem oidMd5
Definition oids.c:290
#define APPLE_CERT_EXT_INTERMEDIATE_MARKER_APPLEID
Definition oids.c:197
#define OID_RSA_HASH
Definition oids.c:28
const DERItem oidQtUNotice
Definition oids.c:403
const DERItem oidExtendedKeyUsage
Definition oids.c:380
const DERItem oidAppleProvisioningProfile
Definition oids.c:444
const DERItem oidCommonName
Definition oids.c:406
#define OID_NIST_HASHALG
Definition oids.c:89
const DERItem oidLocalKeyId
Definition oids.c:424
#define OID_AD_CAISSUERS
Definition oids.c:75
const DERItem oidEntrustVersInfo
Definition oids.c:396
const DERItem oidAuthorityInfoAccess
Definition oids.c:386
const DERItem oidMd2Rsa
Definition oids.c:266
#define APPLE_EKU_APPLE_ID
Definition oids.c:179
#define MICROSOFT_BASE_OID
Definition oids.c:238
const DERItem oidMd5Rsa
Definition oids.c:268
const DERItem oidEmailAddress
Definition oids.c:420
const DERItem oidAppleIntmMarkerAppleID
Definition oids.c:450
#define OID_PKCS_9
Definition oids.c:39
const DERItem oidExtendedKeyUsageMicrosoftSGC
Definition oids.c:438
#define OID_PKCS_1
Definition oids.c:31
const DERItem oidSha512
Definition oids.c:298
const DERItem oidMd4
Definition oids.c:288
const DERItem oidExtendedKeyUsageEmailProtection
Definition oids.c:432
const DERItem oidAdOCSP
Definition oids.c:390
const DERItem oidExtendedKeyUsageClientAuth
Definition oids.c:428
const DERItem oidLocalityName
Definition oids.c:410
const DERItem oidSha1
Definition oids.c:292
const DERItem oidInhibitAnyPolicy
Definition oids.c:384
const DERItem oidFriendlyName
Definition oids.c:422
const DERItem oidStateOrProvinceName
Definition oids.c:412
#define OID_ECDSA_WITH_SHA2
Definition oids.c:48
const DERItem oidSubjectAltName
Definition oids.c:362
#define OID_ISAKMP
Definition oids.c:78
const DERItem oidExtendedKeyUsageNetscapeSGC
Definition oids.c:440
const DERItem oidSha256Rsa
Definition oids.c:272
const DERItem oidAppleSecureBootCertSpec
Definition oids.c:442
const DERItem oidAppleApplicationSigning
Definition oids.c:446
const DERItem oidSubjectInfoAccess
Definition oids.c:388
bool DEROidCompare(const DERItem *oid1, const DERItem *oid2)
Definition oids.c:454
const DERItem oidExtendedKeyUsageOCSPSigning
Definition oids.c:434
#define OID_OIW_ALGORITHM
Definition oids.c:86
const DERItem oidOrganizationName
Definition oids.c:414
const DERItem oidPolicyConstraints
Definition oids.c:378
#define APPLE_APP_SIGINING_OID
Definition oids.c:205
const DERItem oidNetscapeCertType
Definition oids.c:394
const DERItem oidSha256Ecdsa
Definition oids.c:280
const DERItem oidSha512Ecdsa
Definition oids.c:284
#define ENTRUST_CERT_EXTEN
Definition oids.c:235
const DERItem oidSha1Rsa
Definition oids.c:270
const DERItem oidQtCps
Definition oids.c:401
const DERItem oidExtendedKeyUsageCodeSigning
Definition oids.c:430
const DERItem oidSha1Ecdsa
Definition oids.c:276
const DERItem oidAdCAIssuer
Definition oids.c:392
const DERItem oidAnyExtendedKeyUsage
Definition oids.c:382
#define OID_ATTR_TYPE
Definition oids.c:14
#define MICROSOFT_ENROLLMENT_OID
Definition oids.c:239
const DERItem oidExtendedKeyUsageIPSec
Definition oids.c:436
const DERItem oidEcPubKey
Definition oids.c:274
const DERItem oidOrganizationalUnitName
Definition oids.c:416
const DERItem oidSha384Ecdsa
Definition oids.c:282
DERByte * data
Definition libDER.h:36
DERSize length
Definition libDER.h:37