]> git.saurik.com Git - apple/security.git/blob - OSX/libsecurity_cssm/lib/oidsbase.h
Security-59306.120.7.tar.gz
[apple/security.git] / OSX / libsecurity_cssm / lib / oidsbase.h
1 /*
2 * Copyright (c) 1999-2001,2003-2004,2008-2014 Apple Inc. All Rights Reserved.
3 *
4 * @APPLE_LICENSE_HEADER_START@
5 *
6 * This file contains Original Code and/or Modifications of Original Code
7 * as defined in and that are subject to the Apple Public Source License
8 * Version 2.0 (the 'License'). You may not use this file except in
9 * compliance with the License. Please obtain a copy of the License at
10 * http://www.opensource.apple.com/apsl/ and read it before using this
11 * file.
12 *
13 * The Original Code and all software distributed under the License are
14 * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER
15 * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES,
16 * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY,
17 * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT.
18 * Please see the License for the specific language governing rights and
19 * limitations under the License.
20 *
21 * @APPLE_LICENSE_HEADER_END@
22 *
23 * oidsbase.h -- Basic Object Identifier Macros and Data Types.
24 */
25
26 #ifndef _OIDSBASE_H_
27 #define _OIDSBASE_H_ 1
28
29 #ifdef __cplusplus
30 extern "C" {
31 #endif
32
33 #define SECASN1OID_DEF(NAME, VALUE, ARGS...) \
34 static const uint8_t _##NAME[] = { VALUE, ## ARGS }; \
35 const SecAsn1Oid NAME = { sizeof(_##NAME), (uint8_t *)_##NAME }
36
37 /* Intel CSSM */
38
39 #define INTEL 96, 134, 72, 1, 134, 248, 77
40 #define INTEL_LENGTH 7
41
42 #define INTEL_CDSASECURITY INTEL, 2
43 #define INTEL_CDSASECURITY_LENGTH (INTEL_LENGTH + 1)
44
45 #define INTEL_SEC_FORMATS INTEL_CDSASECURITY, 1
46 #define INTEL_SEC_FORMATS_LENGTH (INTEL_CDSASECURITY_LENGTH + 1)
47
48 #define INTEL_SEC_ALGS INTEL_CDSASECURITY, 2, 5
49 #define INTEL_SEC_ALGS_LENGTH (INTEL_CDSASECURITY_LENGTH + 2)
50
51 #define INTEL_SEC_OBJECT_BUNDLE INTEL_SEC_FORMATS, 4
52 #define INTEL_SEC_OBJECT_BUNDLE_LENGTH (INTEL_SEC_FORMATS_LENGTH + 1)
53
54 #define INTEL_CERT_AND_PRIVATE_KEY_2_0 INTEL_SEC_OBJECT_BUNDLE, 1
55 #define INTEL_CERT_AND_PRIVATE_KEY_2_0_LENGTH (INTEL_SEC_OBJECT_BUNDLE_LENGTH + 1)
56
57 /* Suffix specifying format or representation of a field value */
58 /* Note that if a format suffix is not specified, a flat data
59 representation is implied */
60 #define INTEL_X509_C_DATATYPE 1
61 #define INTEL_X509_LDAPSTRING_DATATYPE 2
62
63 #define OID_ISO_CCITT_DIR_SERVICE 85
64 #define OID_DS OID_ISO_CCITT_DIR_SERVICE
65 #define OID_DS_LENGTH 1
66 #define OID_ATTR_TYPE OID_DS, 4
67 #define OID_ATTR_TYPE_LENGTH OID_DS_LENGTH + 1
68 #define OID_EXTENSION OID_DS, 29
69 #define OID_EXTENSION_LENGTH OID_DS_LENGTH + 1
70 #define OID_ISO_STANDARD 40
71 #define OID_ISO_MEMBER 42
72 #define OID_US OID_ISO_MEMBER, 134, 72
73
74 #define OID_ISO_IDENTIFIED_ORG 43
75 #define OID_OSINET OID_ISO_IDENTIFIED_ORG, 4
76 #define OID_GOSIP OID_ISO_IDENTIFIED_ORG, 5
77 #define OID_DOD OID_ISO_IDENTIFIED_ORG, 6
78 #define OID_OIW OID_ISO_IDENTIFIED_ORG, 14
79
80 #define OID_ITU_RFCDATA_MEMBER_LENGTH 1
81 #define OID_ITU_RFCDATA 9
82
83 /* From the PKCS Standards */
84 #define OID_ISO_MEMBER_LENGTH 1
85 #define OID_US_LENGTH OID_ISO_MEMBER_LENGTH + 2
86 #define OID_RSA OID_US, 134, 247, 13
87 #define OID_RSA_LENGTH OID_US_LENGTH + 3
88 #define OID_RSA_HASH OID_RSA, 2
89 #define OID_RSA_HASH_LENGTH OID_RSA_LENGTH + 1
90 #define OID_RSA_ENCRYPT OID_RSA, 3
91 #define OID_RSA_ENCRYPT_LENGTH OID_RSA_LENGTH + 1
92 #define OID_PKCS OID_RSA, 1
93 #define OID_PKCS_LENGTH OID_RSA_LENGTH +1
94 #define OID_PKCS_1 OID_PKCS, 1
95 #define OID_PKCS_1_LENGTH OID_PKCS_LENGTH +1
96 #define OID_PKCS_2 OID_PKCS, 2
97 #define OID_PKCS_3 OID_PKCS, 3
98 #define OID_PKCS_3_LENGTH OID_PKCS_LENGTH +1
99 #define OID_PKCS_4 OID_PKCS, 4
100 #define OID_PKCS_5 OID_PKCS, 5
101 #define OID_PKCS_5_LENGTH OID_PKCS_LENGTH +1
102 #define OID_PKCS_6 OID_PKCS, 6
103 #define OID_PKCS_7 OID_PKCS, 7
104 #define OID_PKCS_7_LENGTH OID_PKCS_LENGTH +1
105 #define OID_PKCS_8 OID_PKCS, 8
106 #define OID_PKCS_9 OID_PKCS, 9
107 #define OID_PKCS_9_LENGTH OID_PKCS_LENGTH +1
108 #define OID_PKCS_10 OID_PKCS, 10
109 #define OID_PKCS_11 OID_PKCS, 11
110 #define OID_PKCS_11_LENGTH OID_PKCS_LENGTH +1
111 #define OID_PKCS_12 OID_PKCS, 12
112 #define OID_PKCS_12_LENGTH OID_PKCS_LENGTH +1
113
114 /* ANSI X9.42 */
115 #define OID_ANSI_X9_42 OID_US, 206, 62, 2
116 #define OID_ANSI_X9_42_LEN OID_US_LENGTH + 3
117 #define OID_ANSI_X9_42_SCHEME OID_ANSI_X9_42, 3
118 #define OID_ANSI_X9_42_SCHEME_LEN OID_ANSI_X9_42_LEN + 1
119 #define OID_ANSI_X9_42_NAMED_SCHEME OID_ANSI_X9_42, 4
120 #define OID_ANSI_X9_42_NAMED_SCHEME_LEN OID_ANSI_X9_42_LEN + 1
121
122 /* ANSI X9.62 (1 2 840 10045) */
123 #define OID_ANSI_X9_62 0x2A, 0x86, 0x48, 0xCE, 0x3D
124 #define OID_ANSI_X9_62_LEN 5
125 #define OID_ANSI_X9_62_FIELD_TYPE OID_ANSI_X9_62, 1
126 #define OID_ANSI_X9_62_PUBKEY_TYPE OID_ANSI_X9_62, 2
127 #define OID_ANSI_X9_62_ELL_CURVE OID_ANSI_X9_62, 3
128 #define OID_ANSI_X9_62_ELL_CURVE_LEN OID_ANSI_X9_62_LEN+1
129 #define OID_ANSI_X9_62_C_TWO_CURVE OID_ANSI_X9_62_ELL_CURVE, 0
130 #define OID_ANSI_X9_62_PRIME_CURVE OID_ANSI_X9_62_ELL_CURVE, 1
131 #define OID_ANSI_X9_62_SIG_TYPE OID_ANSI_X9_62, 4
132 #define OID_ANSI_X9_62_SIG_TYPE_LEN OID_ANSI_X9_62_LEN+1
133
134 /* PKIX */
135 #define OID_PKIX OID_DOD, 1, 5, 5, 7
136 #define OID_PKIX_LENGTH 6
137 #define OID_PE OID_PKIX, 1
138 #define OID_PE_LENGTH OID_PKIX_LENGTH + 1
139 #define OID_QT OID_PKIX, 2
140 #define OID_QT_LENGTH OID_PKIX_LENGTH + 1
141 #define OID_KP OID_PKIX, 3
142 #define OID_KP_LENGTH OID_PKIX_LENGTH + 1
143 #define OID_OTHER_NAME OID_PKIX, 8
144 #define OID_OTHER_NAME_LENGTH OID_PKIX_LENGTH + 1
145 #define OID_PDA OID_PKIX, 9
146 #define OID_PDA_LENGTH OID_PKIX_LENGTH + 1
147 #define OID_QCS OID_PKIX, 11
148 #define OID_QCS_LENGTH OID_PKIX_LENGTH + 1
149 #define OID_AD OID_PKIX, 48
150 #define OID_AD_LENGTH OID_PKIX_LENGTH + 1
151 #define OID_AD_OCSP OID_AD, 1
152 #define OID_AD_OCSP_LENGTH OID_AD_LENGTH + 1
153
154 /* ETSI */
155 #define OID_ETSI 0x04, 0x00
156 #define OID_ETSI_LENGTH 2
157 #define OID_ETSI_QCS 0x04, 0x00, 0x8E, 0x46, 0x01
158 #define OID_ETSI_QCS_LENGTH 5
159
160 #define OID_OIW_SECSIG OID_OIW, 3
161 #define OID_OIW_LENGTH 2
162 #define OID_OIW_SECSIG_LENGTH OID_OIW_LENGTH +1
163
164 #define OID_OIW_ALGORITHM OID_OIW_SECSIG, 2
165 #define OID_OIW_ALGORITHM_LENGTH OID_OIW_SECSIG_LENGTH +1
166
167 /* NIST defined digest algorithm arc (2, 16, 840, 1, 101, 3, 4, 2) */
168 #define OID_NIST_HASHALG 0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02
169 #define OID_NIST_HASHALG_LENGTH 8
170
171 /* Kerberos PKINIT */
172 #define OID_KERBv5 0x2b, 6, 1, 5, 2
173 #define OID_KERBv5_LEN 5
174 #define OID_KERBv5_PKINIT OID_KERBv5, 3
175 #define OID_KERBv5_PKINIT_LEN OID_KERBv5_LEN + 1
176
177 /* Certicom (1 3 132) */
178 #define OID_CERTICOM 0x2B, 0x81, 0x04
179 #define OID_CERTICOM_LEN 3
180 #define OID_CERTICOM_ELL_CURVE OID_CERTICOM, 0
181 #define OID_CERTICOM_ELL_CURVE_LEN OID_CERTICOM_LEN+1
182
183 /*
184 * Apple-specific OID bases
185 */
186
187 /*
188 * apple OBJECT IDENTIFIER ::=
189 * { iso(1) member-body(2) US(840) 113635 }
190 *
191 * BER = 06 06 2A 86 48 86 F7 63
192 */
193 #define APPLE_OID OID_US, 0x86, 0xf7, 0x63
194 #define APPLE_OID_LENGTH OID_US_LENGTH + 3
195
196 /* appleDataSecurity OBJECT IDENTIFIER ::=
197 * { apple 100 }
198 * { 1 2 840 113635 100 }
199 *
200 * BER = 06 07 2A 86 48 86 F7 63 64
201 */
202 #define APPLE_ADS_OID APPLE_OID, 0x64
203 #define APPLE_ADS_OID_LENGTH APPLE_OID_LENGTH + 1
204
205 /*
206 * appleTrustPolicy OBJECT IDENTIFIER ::=
207 * { appleDataSecurity 1 }
208 * { 1 2 840 113635 100 1 }
209 *
210 * BER = 06 08 2A 86 48 86 F7 63 64 01
211 */
212 #define APPLE_TP_OID APPLE_ADS_OID, 1
213 #define APPLE_TP_OID_LENGTH APPLE_ADS_OID_LENGTH + 1
214
215 /*
216 * appleSecurityAlgorithm OBJECT IDENTIFIER ::=
217 * { appleDataSecurity 2 }
218 * { 1 2 840 113635 100 2 }
219 *
220 * BER = 06 08 2A 86 48 86 F7 63 64 02
221 */
222 #define APPLE_ALG_OID APPLE_ADS_OID, 2
223 #define APPLE_ALG_OID_LENGTH APPLE_ADS_OID_LENGTH + 1
224
225 /*
226 * appleDotMacCertificate OBJECT IDENTIFIER ::=
227 * { appleDataSecurity 3 }
228 * { 1 2 840 113635 100 3 }
229 */
230 #define APPLE_DOTMAC_CERT_OID APPLE_ADS_OID, 3
231 #define APPLE_DOTMAC_CERT_OID_LENGTH APPLE_ADS_OID_LENGTH + 1
232
233 /*
234 * Basis of Policy OIDs for .mac TP requests
235 *
236 * dotMacCertificateRequest OBJECT IDENTIFIER ::=
237 * { appleDotMacCertificate 1 }
238 * { 1 2 840 113635 100 3 1 }
239 */
240 #define APPLE_DOTMAC_CERT_REQ_OID APPLE_DOTMAC_CERT_OID, 1
241 #define APPLE_DOTMAC_CERT_REQ_OID_LENGTH APPLE_DOTMAC_CERT_OID_LENGTH + 1
242
243 /*
244 * Basis of .mac Certificate Extensions
245 *
246 * dotMacCertificateExtension OBJECT IDENTIFIER ::=
247 * { appleDotMacCertificate 2 }
248 * { 1 2 840 113635 100 3 2 }
249 */
250 #define APPLE_DOTMAC_CERT_EXTEN_OID APPLE_DOTMAC_CERT_OID, 2
251 #define APPLE_DOTMAC_CERT_EXTEN_OID_LENGTH APPLE_DOTMAC_CERT_OID_LENGTH + 1
252
253 /*
254 * Basis of .mac Certificate request OID/value identifiers
255 *
256 * dotMacCertificateRequestValues OBJECT IDENTIFIER ::=
257 * { appleDotMacCertificate 3 }
258 * { 1 2 840 113635 100 3 3 }
259 */
260 #define APPLE_DOTMAC_CERT_REQ_VALUE_OID APPLE_DOTMAC_CERT_OID, 3
261 #define APPLE_DOTMAC_CERT_REQ_VALUE_OID_LENGTH APPLE_DOTMAC_CERT_OID_LENGTH + 1
262
263 /*
264 * Basis of Apple-specific extended key usages
265 *
266 * appleExtendedKeyUsage OBJECT IDENTIFIER ::=
267 * { appleDataSecurity 4 }
268 * { 1 2 840 113635 100 4 }
269 */
270 #define APPLE_EKU_OID APPLE_ADS_OID, 4
271 #define APPLE_EKU_OID_LENGTH APPLE_ADS_OID_LENGTH + 1
272
273 /*
274 * Basis of Apple Code Signing extended key usages
275 * appleCodeSigning OBJECT IDENTIFIER ::=
276 * { appleExtendedKeyUsage 1 }
277 * { 1 2 840 113635 100 4 1 }
278 */
279 #define APPLE_EKU_CODE_SIGNING APPLE_EKU_OID, 1
280 #define APPLE_EKU_CODE_SIGNING_LENGTH APPLE_EKU_OID_LENGTH + 1
281
282 /* -------------------------------------------------------------------------*/
283
284 /*
285 * Basis of Apple-specific Certificate Policy identifiers
286 * appleCertificatePolicies OBJECT IDENTIFIER ::=
287 * { appleDataSecurity 5 }
288 * { 1 2 840 113635 100 5 }
289 */
290 #define APPLE_CERT_POLICIES APPLE_ADS_OID, 5
291 #define APPLE_CERT_POLICIES_LENGTH APPLE_ADS_OID_LENGTH + 1
292
293 /*
294 * Base for MacAppStore Certificate Policy identifiers
295 * macAppStoreCertificatePolicyIDs OBJECT IDENTIFIER ::=
296 * { appleCertificatePolicies 6 }
297 * { 1 2 840 113635 100 5 6 }
298 */
299 #define APPLE_CERT_POLICIES_MACAPPSTORE APPLE_CERT_POLICIES, 6
300 #define APPLE_CERT_POLICIES_MACAPPSTORE_LENGTH APPLE_CERT_POLICIES_LENGTH + 1
301
302 /*
303 * MacAppStore receipt verification Certificate Policy identifier
304 * macAppStoreReceiptCertificatePolicyID OBJECT IDENTIFIER ::=
305 * { appleCertificatePolicies 6 1 }
306 * { 1 2 840 113635 100 5 6 1 }
307 */
308 #define APPLE_CERT_POLICIES_MACAPPSTORE_RECEIPT APPLE_CERT_POLICIES_MACAPPSTORE, 1
309 #define APPLE_CERT_POLICIES_MACAPPSTORE_RECEIPT_LENGTH APPLE_CERT_POLICIES_MACAPPSTORE_LENGTH + 1
310
311 /*
312 * Base for AppleID Certificate Policy identifiers
313 * macAppStoreCertificatePolicyIDs OBJECT IDENTIFIER ::=
314 * { appleCertificatePolicies 7 }
315 * { 1 2 840 113635 100 5 7 }
316 */
317 #define APPLE_CERT_POLICIES_APPLEID APPLE_CERT_POLICIES, 7
318 #define APPLE_CERT_POLICIES_APPLEID_LENGTH APPLE_CERT_POLICIES_LENGTH + 1
319
320 /*
321 * AppleID Sharing Certificate Policy identifier
322 * appleIDSharingPolicyID OBJECT IDENTIFIER ::=
323 * { appleCertificatePolicies 7 1 }
324 * { 1 2 840 113635 100 5 7 1 }
325 */
326 #define APPLE_CERT_POLICIES_APPLEID_SHARING APPLE_CERT_POLICIES_APPLEID, 1
327 #define APPLE_CERT_POLICIES_APPLEID_SHARING_LENGTH APPLE_CERT_POLICIES_APPLEID_LENGTH + 1
328
329 /*
330 * Apple Mobile Store Signing Policy identifier
331 *
332 * appleDemoContentReleaseSigningID ::= { appleCertificatePolicies 12}
333 * { 1 2 840 113635 100 5 12 }
334 */
335 #define APPLE_CERT_POLICIES_MOBILE_STORE_SIGNING APPLE_CERT_POLICIES, 12
336 #define APPLE_CERT_POLICIES_MOBILE_STORE_SIGNING_LENGTH APPLE_CERT_POLICIES_LENGTH + 1
337
338 /*
339 * Apple Test Mobile Store Signing Policy identifier
340 *
341 * appleDemoContentTestSigningID ::= { appleDemoContentReleaseSigningID 1}
342 * { 1 2 840 113635 100 5 12 1 }
343 */
344 #define APPLE_CERT_POLICIES_TEST_MOBILE_STORE_SIGNING APPLE_CERT_POLICIES, 12, 1
345 #define APPLE_CERT_POLICIES_TEST_MOBILE_STORE_SIGNING_LENGTH APPLE_CERT_POLICIES_LENGTH + 2
346
347
348 /* -------------------------------------------------------------------------*/
349
350 /*
351 * Basis of Apple-specific certificate extensions
352 * appleCertificateExtensions OBJECT IDENTIFIER ::=
353 * { appleDataSecurity 6 }
354 * { 1 2 840 113635 100 6 }
355 */
356 #define APPLE_EXTENSION_OID APPLE_ADS_OID, 6
357 #define APPLE_EXTENSION_OID_LENGTH APPLE_ADS_OID_LENGTH + 1
358
359 /*
360 * Basis of Apple-specific Code Signing certificate extensions
361 * appleCertificateExtensionCodeSigning OBJECT IDENTIFIER ::=
362 * { appleCertificateExtensions 1 }
363 * { 1 2 840 113635 100 6 1 }
364 */
365 #define APPLE_EXTENSION_CODE_SIGNING APPLE_EXTENSION_OID, 1
366 #define APPLE_EXTENSION_CODE_SIGNING_LENGTH APPLE_EXTENSION_OID_LENGTH + 1
367
368 /*
369 * Basis of MacAppStore receipt verification certificate extensions
370 * macAppStoreReceiptExtension OBJECT IDENTIFIER ::=
371 * { appleCertificateExtensions 11 1 }
372 * { 1 2 840 113635 100 6 11 1 }
373 */
374 #define APPLE_EXTENSION_MACAPPSTORE_RECEIPT APPLE_EXTENSION_OID, 11, 1
375 #define APPLE_EXTENSION_MACAPPSTORE_RECEIPT_LENGTH APPLE_EXTENSION_OID_LENGTH + 2
376
377 /*
378 * Basis of Apple-specific Intermediate Certificate extensions
379 * appleCertificateExtensionIntermediateMarker OBJECT IDENTIFIER ::=
380 * { appleCertificateExtensions 2 }
381 * { 1 2 840 113635 100 6 2 }
382 */
383 #define APPLE_EXTENSION_INTERMEDIATE_MARKER APPLE_EXTENSION_OID, 2
384 #define APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH APPLE_EXTENSION_OID_LENGTH + 1
385
386 /*
387 * Marker for the WWDR Intermediate Certificate
388 * appleCertificateExtensionWWDRIntermediate OBJECT IDENTIFIER ::=
389 * { appleCertificateExtensionIntermediateMarker 1 }
390 * { 1 2 840 113635 100 6 2 1 }
391 */
392 #define APPLE_EXTENSION_WWDR_INTERMEDIATE APPLE_EXTENSION_INTERMEDIATE_MARKER, 1
393 #define APPLE_EXTENSION_WWDR_INTERMEDIATE_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
394
395 /*
396 * Marker for the iTunes Store Intermediate Certificate
397 * appleCertificateExtensioniTunesStoreIntermediate OBJECT IDENTIFIER ::=
398 * { appleCertificateExtensionIntermediateMarker 2 }
399 * { 1 2 840 113635 100 6 2 2 }
400 */
401 #define APPLE_EXTENSION_ITMS_INTERMEDIATE APPLE_EXTENSION_INTERMEDIATE_MARKER, 2
402 #define APPLE_EXTENSION_ITMS_INTERMEDIATE_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
403
404 /*
405 * Marker for the Application Integration Intermediate Certificate
406 * appleCertificateExtensionApplicationIntegrationIntermediate OBJECT IDENTIFIER ::=
407 * { appleCertificateExtensionIntermediateMarker 3 }
408 * { 1 2 840 113635 100 6 2 3 }
409 */
410 #define APPLE_EXTENSION_AAI_INTERMEDIATE APPLE_EXTENSION_INTERMEDIATE_MARKER, 3
411 #define APPLE_EXTENSION_AAI_INTERMEDIATE_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
412
413 /*
414 * Apple Apple ID Intermediate Marker (New subCA, no longer shared with push notification server cert issuer
415 *
416 * appleCertificateExtensionAppleIDIntermediate ::=
417 * { appleCertificateExtensionIntermediateMarker 7 }
418 * { 1 2 840 113635 100 6 2 7 }
419 *
420 * shared intermediate OID is APPLE_CERT_EXT_INTERMEDIATE_MARKER_APPLEID
421 * Apple Apple ID Intermediate Marker
422 * Same as APPLE_CERT_EXT_INTERMEDIATE_MARKER_APPLEID_2 on iOS
423 */
424 #define APPLE_EXTENSION_APPLEID_INTERMEDIATE APPLE_EXTENSION_INTERMEDIATE_MARKER, 7
425 #define APPLE_EXTENSION_APPLEID_INTERMEDIATE_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
426
427 /*
428 * Apple System Integration 2 Intermediate Marker (New subCA)
429 *
430 * appleCertificateExtensionSystemIntegration2Intermediate ::=
431 * { appleCertificateExtensionIntermediateMarker 10 }
432 * { 1 2 840 113635 100 6 2 10 }
433 */
434 #define APPLE_EXTENSION_SYSINT2_INTERMEDIATE APPLE_EXTENSION_INTERMEDIATE_MARKER, 10
435 #define APPLE_EXTENSION_SYSINT2_INTERMEDIATE_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
436
437 /*
438 * Apple Developer Authentication Intermediate Marker (New subCA)
439 *
440 * appleCertificateExtensionDeveloperAuthentication ::=
441 * { appleCertificateExtensionIntermediateMarker 11 }
442 * { 1 2 840 113635 100 6 2 11 }
443 */
444 #define APPLE_EXTENSION_DEVELOPER_AUTHENTICATION APPLE_EXTENSION_INTERMEDIATE_MARKER, 11
445 #define APPLE_EXTENSION_DEVELOPER_AUTHENTICATION_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
446
447 /*
448 * Apple Server Authentication Intermediate Marker (New subCA)
449 *
450 * appleCertificateExtensionServerAuthentication ::=
451 * { appleCertificateExtensionIntermediateMarker 12 }
452 * { 1 2 840 113635 100 6 2 12 }
453 */
454 #define APPLE_EXTENSION_SERVER_AUTHENTICATION APPLE_EXTENSION_INTERMEDIATE_MARKER, 12
455 #define APPLE_EXTENSION_SERVER_AUTHENTICATION_LENGTH APPLE_EXTENSION_INTERMEDIATE_MARKER_LENGTH + 1
456
457 /*
458 * Apple Secure Escrow Service Marker
459 *
460 * appleEscrowService ::= { appleCertificateExtensions 23 1 }
461 * { 1 2 840 113635 100 6 23 1 }
462 */
463 #define APPLE_EXTENSION_ESCROW_SERVICE APPLE_EXTENSION_OID, 23, 1
464 #define APPLE_EXTENSION_ESCROW_SERVICE_LENGTH APPLE_EXTENSION_OID_LENGTH + 2
465
466 /*
467 * Apple OS X Provisioning Profile Signing Marker
468 * (note this is unfortunately under the EKU arc although it's used as a cert extension)
469 */
470 #define APPLE_EXTENSION_PROVISIONING_PROFILE_SIGNING APPLE_EKU_OID, 11
471 #define APPLE_EXTENSION_PROVISIONING_PROFILE_SIGNING_LENGTH APPLE_EKU_OID_LENGTH + 1
472
473 /*
474 * Marker for the AppleID Sharing Certificate
475 * appleID OBJECT IDENTIFIER ::=
476 * { appleExtendedKeyUsage 7}
477 * { 1 2 840 113635 100 4 7 }
478 */
479
480 #define APPLE_EXTENSION_APPLEID_SHARING APPLE_EKU_OID, 7
481 #define APPLE_EXTENSION_APPLEID_SHARING_LENGTH APPLE_EKU_OID_LENGTH + 1
482
483 /*
484 * Netscape OIDs.
485 */
486 #define NETSCAPE_BASE_OID 0x60, 0x86, 0x48, 0x01, 0x86, 0xf8, 0x42
487 #define NETSCAPE_BASE_OID_LEN 7
488
489 /*
490 * Netscape cert extension.
491 *
492 * netscape-cert-extension OBJECT IDENTIFIER ::=
493 * { 2 16 840 1 113730 1 }
494 *
495 * BER = 06 08 60 86 48 01 86 F8 42 01
496 */
497 #define NETSCAPE_CERT_EXTEN NETSCAPE_BASE_OID, 0x01
498 #define NETSCAPE_CERT_EXTEN_LENGTH NETSCAPE_BASE_OID_LEN + 1
499
500 #define NETSCAPE_CERT_POLICY NETSCAPE_BASE_OID, 0x04
501 #define NETSCAPE_CERT_POLICY_LENGTH NETSCAPE_BASE_OID_LEN + 1
502
503 /* Google OIDs: 1.3.6.1.4.1.11129. */
504 #define GOOGLE_BASE_OID OID_DOD, 0x01, 0x04, 0x01, 0xD6, 0x79
505 #define GOOGLE_BASE_OID_LEN OID_DOD_LEN + 5
506 #define GOOGLE_EMBEDDED_SCT_OID GOOGLE_BASE_OID, 0x02, 0x04, 0x02
507 #define GOOGLE_OCSP_SCT_OID GOOGLE_BASE_OID, 0x02, 0x04, 0x05
508
509 /*
510 * Domain Component OID
511 */
512 #define OID_ITU_RFCDATA_2342 OID_ITU_RFCDATA, 0x49, 0x86
513 #define OID_ITU_RFCDATA_2342_LENGTH OID_ITU_RFCDATA_MEMBER_LENGTH + 2
514
515 #define OID_ITU_RFCDATA_2342_UCL OID_ITU_RFCDATA_2342, 0x49, 0x1F, 0x12, 0x8C
516 #define OID_ITU_RFCDATA_2342_UCL_LENGTH OID_ITU_RFCDATA_2342_LENGTH + 4
517
518 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT OID_ITU_RFCDATA_2342_UCL, 0xE4
519 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_LENGTH OID_ITU_RFCDATA_2342_UCL_LENGTH + 1
520
521 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT, 0x81
522 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_LENGTH OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_LENGTH + 1
523
524 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES, 0x99
525 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_LENGTH OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_LENGTH + 1
526
527 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES, 0x81
528 #define OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_LENGTH OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_LENGTH + 1
529
530 #ifdef __cplusplus
531 }
532 #endif
533
534 #endif /* _OIDSBASE_H_ */