oidscrl.cpp
1 /* 2 * Copyright (c) 2000-2002,2004,2011,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 24 25 /* 26 27 File: oidscrl.cpp 28 29 Contains: Object Identifiers for X509 CRLs and OCSP 30 31 Copyright (c) 1999,2001-2002,2004,2011,2014 Apple Inc. All Rights Reserved. 32 33 */ 34 35 #include <Security/oidscrl.h> 36 37 static const uint8 38 39 /* CRL OIDs */ 40 X509V2CRLSignedCrlStruct[] = {INTEL_X509V2_CRL_R08, 0}, 41 X509V2CRLSignedCrlCStruct [] = {INTEL_X509V2_CRL_R08, 0, INTEL_X509_C_DATATYPE}, 42 X509V2CRLTbsCertListStruct [] = {INTEL_X509V2_CRL_R08, 1}, 43 X509V2CRLTbsCertListCStruct[] = {INTEL_X509V2_CRL_R08, 1, INTEL_X509_C_DATATYPE}, 44 X509V2CRLVersion [] = {INTEL_X509V2_CRL_R08, 2}, 45 X509V1CRLIssuerStruct[] = {INTEL_X509V2_CRL_R08, 3}, 46 X509V1CRLIssuerNameCStruct[] = {INTEL_X509V2_CRL_R08, 3, INTEL_X509_C_DATATYPE}, 47 X509V1CRLIssuerNameLDAP[] = {INTEL_X509V2_CRL_R08, 3, 48 INTEL_X509_LDAPSTRING_DATATYPE}, 49 X509V1CRLThisUpdate[] = {INTEL_X509V2_CRL_R08, 4}, 50 X509V1CRLNextUpdate[] = {INTEL_X509V2_CRL_R08, 5}, 51 52 /* CRL Entry (CRL CertList) OIDS */ 53 X509V1CRLRevokedCertificatesStruct[] = {INTEL_X509V2_CRL_R08, 7}, 54 X509V1CRLRevokedCertificatesCStruct[] = {INTEL_X509V2_CRL_R08, 7, INTEL_X509_C_DATATYPE}, 55 X509V1CRLNumberOfRevokedCertEntries[] = {INTEL_X509V2_CRL_R08, 6}, 56 X509V1CRLRevokedEntryStruct[] = {INTEL_X509V2_CRL_R08, 15}, 57 X509V1CRLRevokedEntryCStruct[] = {INTEL_X509V2_CRL_R08, 15, INTEL_X509_C_DATATYPE}, 58 X509V1CRLRevokedEntrySerialNumber[] = {INTEL_X509V2_CRL_R08, 16}, 59 X509V1CRLRevokedEntryRevocationDate[] = {INTEL_X509V2_CRL_R08, 17}, 60 61 /* CRL Entry (CRL CertList) Extension OIDs */ 62 X509V2CRLRevokedEntryAllExtensionsStruct[] = {INTEL_X509V2_CRL_R08, 18}, 63 X509V2CRLRevokedEntryAllExtensionsCStruct[] = {INTEL_X509V2_CRL_R08, 18, INTEL_X509_C_DATATYPE}, 64 X509V2CRLRevokedEntryNumberOfExtensions[] = {INTEL_X509V2_CRL_R08, 20}, 65 X509V2CRLRevokedEntrySingleExtensionStruct[]= {INTEL_X509V2_CRL_R08, 19}, 66 X509V2CRLRevokedEntrySingleExtensionCStruct[]= {INTEL_X509V2_CRL_R08, 19, INTEL_X509_C_DATATYPE}, 67 X509V2CRLRevokedEntryExtensionId[] = {INTEL_X509V2_CRL_R08, 21}, 68 X509V2CRLRevokedEntryExtensionCritical[] = {INTEL_X509V2_CRL_R08, 22}, 69 X509V2CRLRevokedEntryExtensionType[] = {INTEL_X509V2_CRL_R08, 23}, 70 X509V2CRLRevokedEntryExtensionValue[] = {INTEL_X509V2_CRL_R08, 24}, 71 72 /* CRL Extension OIDs */ 73 X509V2CRLAllExtensionsStruct[] = {INTEL_X509V2_CRL_R08, 8}, 74 X509V2CRLAllExtensionsCStruct[] = {INTEL_X509V2_CRL_R08, 8, INTEL_X509_C_DATATYPE}, 75 X509V2CRLNumberOfExtensions[] = {INTEL_X509V2_CRL_R08, 10}, 76 X509V2CRLSingleExtensionStruct[] = {INTEL_X509V2_CRL_R08, 9}, 77 X509V2CRLSingleExtensionCStruct[] = {INTEL_X509V2_CRL_R08, 9, INTEL_X509_C_DATATYPE}, 78 X509V2CRLExtensionId[] = {INTEL_X509V2_CRL_R08, 11}, 79 X509V2CRLExtensionCritical[] = {INTEL_X509V2_CRL_R08, 12}, 80 X509V2CRLExtensionType[] = {INTEL_X509V2_CRL_R08, 13}, 81 82 /* OCSP */ 83 OID_PKIX_OCSP[] = { OID_AD_OCSP }, 84 OID_PKIX_OCSP_BASIC[] = { OID_AD_OCSP, 1 }, 85 OID_PKIX_OCSP_NONCE[] = { OID_AD_OCSP, 2 }, 86 OID_PKIX_OCSP_CRL[] = { OID_AD_OCSP, 3 }, 87 OID_PKIX_OCSP_RESPONSE[] = { OID_AD_OCSP, 4 }, 88 OID_PKIX_OCSP_NOCHECK[] = { OID_AD_OCSP, 5 }, 89 OID_PKIX_OCSP_ARCHIVE_CUTOFF[] = { OID_AD_OCSP, 6 }, 90 OID_PKIX_OCSP_SERVICE_LOCATOR[] = { OID_AD_OCSP, 7 }; 91 92 const CSSM_OID 93 94 /* CRL OIDs */ 95 CSSMOID_X509V2CRLSignedCrlStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 96 (uint8 *)X509V2CRLSignedCrlStruct}, 97 CSSMOID_X509V2CRLSignedCrlCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 98 (uint8 *)X509V2CRLSignedCrlCStruct}, 99 CSSMOID_X509V2CRLTbsCertListStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 100 (uint8 *)X509V2CRLTbsCertListStruct}, 101 CSSMOID_X509V2CRLTbsCertListCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 102 (uint8 *)X509V2CRLTbsCertListCStruct}, 103 CSSMOID_X509V2CRLVersion = {INTEL_X509V2_CRL_R08_LENGTH+1, 104 (uint8 *)X509V2CRLVersion}, 105 CSSMOID_X509V1CRLIssuerStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 106 (uint8 *)X509V1CRLIssuerStruct}, 107 CSSMOID_X509V1CRLIssuerNameCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 108 (uint8 *)X509V1CRLIssuerNameCStruct}, 109 CSSMOID_X509V1CRLIssuerNameLDAP = {INTEL_X509V2_CRL_R08_LENGTH+2, 110 (uint8 *)X509V1CRLIssuerNameLDAP}, 111 CSSMOID_X509V1CRLThisUpdate = {INTEL_X509V2_CRL_R08_LENGTH+1, 112 (uint8 *)X509V1CRLThisUpdate}, 113 CSSMOID_X509V1CRLNextUpdate = {INTEL_X509V2_CRL_R08_LENGTH+1, 114 (uint8 *)X509V1CRLNextUpdate}, 115 116 /* CRL Entry (CRL CertList) OIDS */ 117 CSSMOID_X509V1CRLRevokedCertificatesStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 118 (uint8 *)X509V1CRLRevokedCertificatesStruct}, 119 CSSMOID_X509V1CRLRevokedCertificatesCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 120 (uint8 *)X509V1CRLRevokedCertificatesCStruct}, 121 CSSMOID_X509V1CRLNumberOfRevokedCertEntries = {INTEL_X509V2_CRL_R08_LENGTH+1, 122 (uint8 *)X509V1CRLNumberOfRevokedCertEntries}, 123 CSSMOID_X509V1CRLRevokedEntryStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 124 (uint8 *)X509V1CRLRevokedEntryStruct}, 125 CSSMOID_X509V1CRLRevokedEntryCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 126 (uint8 *)X509V1CRLRevokedEntryCStruct}, 127 CSSMOID_X509V1CRLRevokedEntrySerialNumber = {INTEL_X509V2_CRL_R08_LENGTH+1, 128 (uint8 *)X509V1CRLRevokedEntrySerialNumber}, 129 CSSMOID_X509V1CRLRevokedEntryRevocationDate = {INTEL_X509V2_CRL_R08_LENGTH+1, 130 (uint8 *)X509V1CRLRevokedEntryRevocationDate}, 131 132 /* CRL Entry (CRL CertList) Extension OIDs */ 133 CSSMOID_X509V2CRLRevokedEntryAllExtensionsStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 134 (uint8 *)X509V2CRLRevokedEntryAllExtensionsStruct}, 135 CSSMOID_X509V2CRLRevokedEntryAllExtensionsCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 136 (uint8 *)X509V2CRLRevokedEntryAllExtensionsCStruct}, 137 CSSMOID_X509V2CRLRevokedEntryNumberOfExtensions = {INTEL_X509V2_CRL_R08_LENGTH+1, 138 (uint8 *)X509V2CRLRevokedEntryNumberOfExtensions}, 139 CSSMOID_X509V2CRLRevokedEntrySingleExtensionStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 140 (uint8 *)X509V2CRLRevokedEntrySingleExtensionStruct}, 141 CSSMOID_X509V2CRLRevokedEntrySingleExtensionCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 142 (uint8 *)X509V2CRLRevokedEntrySingleExtensionCStruct}, 143 CSSMOID_X509V2CRLRevokedEntryExtensionId = {INTEL_X509V2_CRL_R08_LENGTH+1, 144 (uint8 *)X509V2CRLRevokedEntryExtensionId}, 145 CSSMOID_X509V2CRLRevokedEntryExtensionCritical = {INTEL_X509V2_CRL_R08_LENGTH+1, 146 (uint8 *)X509V2CRLRevokedEntryExtensionCritical}, 147 CSSMOID_X509V2CRLRevokedEntryExtensionType = {INTEL_X509V2_CRL_R08_LENGTH+1, 148 (uint8 *)X509V2CRLRevokedEntryExtensionType}, 149 CSSMOID_X509V2CRLRevokedEntryExtensionValue = {INTEL_X509V2_CRL_R08_LENGTH+1, 150 (uint8 *)X509V2CRLRevokedEntryExtensionValue}, 151 152 /* CRL Extension OIDs */ 153 CSSMOID_X509V2CRLAllExtensionsStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 154 (uint8 *)X509V2CRLAllExtensionsStruct}, 155 CSSMOID_X509V2CRLAllExtensionsCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 156 (uint8 *)X509V2CRLAllExtensionsCStruct}, 157 CSSMOID_X509V2CRLNumberOfExtensions = {INTEL_X509V2_CRL_R08_LENGTH+1, 158 (uint8 *)X509V2CRLNumberOfExtensions}, 159 CSSMOID_X509V2CRLSingleExtensionStruct = {INTEL_X509V2_CRL_R08_LENGTH+1, 160 (uint8 *)X509V2CRLSingleExtensionStruct}, 161 CSSMOID_X509V2CRLSingleExtensionCStruct = {INTEL_X509V2_CRL_R08_LENGTH+2, 162 (uint8 *)X509V2CRLSingleExtensionCStruct}, 163 CSSMOID_X509V2CRLExtensionId = {INTEL_X509V2_CRL_R08_LENGTH+1, 164 (uint8 *)X509V2CRLExtensionId}, 165 CSSMOID_X509V2CRLExtensionCritical = {INTEL_X509V2_CRL_R08_LENGTH+1, 166 (uint8 *)X509V2CRLExtensionCritical}, 167 CSSMOID_X509V2CRLExtensionType = {INTEL_X509V2_CRL_R08_LENGTH+1, 168 (uint8 *)X509V2CRLExtensionType}; 169 170 const CSSM_OID 171 /* OCSP OIDs */ 172 CSSMOID_PKIX_OCSP = { OID_AD_OCSP_LENGTH, (uint8 *)OID_PKIX_OCSP }, 173 CSSMOID_PKIX_OCSP_BASIC = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_BASIC}, 174 CSSMOID_PKIX_OCSP_NONCE = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_NONCE}, 175 CSSMOID_PKIX_OCSP_CRL = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_CRL}, 176 CSSMOID_PKIX_OCSP_RESPONSE = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_RESPONSE}, 177 CSSMOID_PKIX_OCSP_NOCHECK = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_NOCHECK}, 178 CSSMOID_PKIX_OCSP_ARCHIVE_CUTOFF = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_ARCHIVE_CUTOFF}, 179 CSSMOID_PKIX_OCSP_SERVICE_LOCATOR = { OID_AD_OCSP_LENGTH+1, (uint8 *)OID_PKIX_OCSP_SERVICE_LOCATOR};