/ OSX / libsecurity_cssm / lib / oidsbase.h
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_ */