2 * Copyright (c) 2000-2001,2003-2004,2008,2010,2012,2014 Apple Inc. All Rights Reserved.
4 * @APPLE_LICENSE_HEADER_START@
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
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.
21 * @APPLE_LICENSE_HEADER_END@
26 * oidsattr.c - Cert/CRL related OIDs.
29 #include <Security/oidsbase.h>
30 #include <Security/oidsattr.h>
34 * Directory name component identifiers.
37 OID_ObjectClass
[] = { OID_ATTR_TYPE
, 0 },
38 OID_AliasedEntryName
[] = { OID_ATTR_TYPE
, 1 },
39 OID_KnowledgeInformation
[] = { OID_ATTR_TYPE
, 2 },
40 OID_CommonName
[] = { OID_ATTR_TYPE
, 3 },
41 OID_Surname
[] = { OID_ATTR_TYPE
, 4 },
42 OID_SerialNumber
[] = { OID_ATTR_TYPE
, 5 },
43 OID_CountryName
[] = { OID_ATTR_TYPE
, 6 },
44 OID_LocalityName
[] = { OID_ATTR_TYPE
, 7 },
45 OID_StateProvinceName
[] = { OID_ATTR_TYPE
, 8 },
46 OID_CollectiveStateProvinceName
[] = { OID_ATTR_TYPE
, 8, 1 },
47 OID_StreetAddress
[] = { OID_ATTR_TYPE
, 9 },
48 OID_CollectiveStreetAddress
[] = { OID_ATTR_TYPE
, 9, 1 },
49 OID_OrganizationName
[] = { OID_ATTR_TYPE
, 10 },
50 OID_CollectiveOrganizationName
[] = { OID_ATTR_TYPE
, 10, 1 },
51 OID_OrganizationalUnitName
[] = { OID_ATTR_TYPE
, 11 },
52 OID_CollectiveOrganizationalUnitName
[]
53 = { OID_ATTR_TYPE
, 11, 1 },
54 OID_Title
[] = { OID_ATTR_TYPE
, 12 },
55 OID_Description
[] = { OID_ATTR_TYPE
, 13 },
56 OID_SearchGuide
[] = { OID_ATTR_TYPE
, 14 },
57 OID_BusinessCategory
[] = { OID_ATTR_TYPE
, 15 },
58 OID_PostalAddress
[] = { OID_ATTR_TYPE
, 16 },
59 OID_CollectivePostalAddress
[] = { OID_ATTR_TYPE
, 16, 1 },
60 OID_PostalCode
[] = { OID_ATTR_TYPE
, 17 },
61 OID_CollectivePostalCode
[] = { OID_ATTR_TYPE
, 17, 1 },
62 OID_PostOfficeBox
[] = { OID_ATTR_TYPE
, 18 },
63 OID_CollectivePostOfficeBox
[] = { OID_ATTR_TYPE
, 18, 1 },
64 OID_PhysicalDeliveryOfficeName
[] = { OID_ATTR_TYPE
, 19 },
65 OID_CollectivePhysicalDeliveryOfficeName
[]
66 = { OID_ATTR_TYPE
, 19, 1 },
67 OID_TelephoneNumber
[] = { OID_ATTR_TYPE
, 20 },
68 OID_CollectiveTelephoneNumber
[] = { OID_ATTR_TYPE
, 20, 1 },
69 OID_TelexNumber
[] = { OID_ATTR_TYPE
, 21 },
70 OID_CollectiveTelexNumber
[] = { OID_ATTR_TYPE
, 21, 1 },
71 OID_TelexTerminalIdentifier
[] = { OID_ATTR_TYPE
, 22 },
72 OID_CollectiveTelexTerminalIdentifier
[]
73 = { OID_ATTR_TYPE
, 22, 1 },
74 OID_FacsimileTelephoneNumber
[] = { OID_ATTR_TYPE
, 23 },
75 OID_CollectiveFacsimileTelephoneNumber
[]
76 = { OID_ATTR_TYPE
, 23, 1 },
77 OID_X_121Address
[] = { OID_ATTR_TYPE
, 24 },
78 OID_InternationalISDNNumber
[] = { OID_ATTR_TYPE
, 25 },
79 OID_CollectiveInternationalISDNNumber
[]
80 = { OID_ATTR_TYPE
, 25, 1 },
81 OID_RegisteredAddress
[] = { OID_ATTR_TYPE
, 26 },
82 OID_DestinationIndicator
[] = { OID_ATTR_TYPE
, 27 },
83 OID_PreferredDeliveryMethod
[] = { OID_ATTR_TYPE
, 28 },
84 OID_PresentationAddress
[] = { OID_ATTR_TYPE
, 29 },
85 OID_SupportedApplicationContext
[] = { OID_ATTR_TYPE
, 30 },
86 OID_Member
[] = { OID_ATTR_TYPE
, 31 },
87 OID_Owner
[] = { OID_ATTR_TYPE
, 32 },
88 OID_RoleOccupant
[] = { OID_ATTR_TYPE
, 33 },
89 OID_SeeAlso
[] = { OID_ATTR_TYPE
, 34 },
90 OID_UserPassword
[] = { OID_ATTR_TYPE
, 35 },
91 OID_UserCertificate
[] = { OID_ATTR_TYPE
, 36 },
92 OID_CACertificate
[] = { OID_ATTR_TYPE
, 37 },
93 OID_AuthorityRevocationList
[] = { OID_ATTR_TYPE
, 38 },
94 OID_CertificateRevocationList
[] = { OID_ATTR_TYPE
, 39 },
95 OID_CrossCertificatePair
[] = { OID_ATTR_TYPE
, 40 },
96 OID_Name
[] = { OID_ATTR_TYPE
, 41 },
97 OID_GivenName
[] = { OID_ATTR_TYPE
, 42 },
98 OID_Initials
[] = { OID_ATTR_TYPE
, 43 },
99 OID_GenerationQualifier
[] = { OID_ATTR_TYPE
, 44 },
100 OID_UniqueIdentifier
[] = { OID_ATTR_TYPE
, 45 },
101 OID_DNQualifier
[] = { OID_ATTR_TYPE
, 46 },
102 OID_EnhancedSearchGuide
[] = { OID_ATTR_TYPE
, 47 },
103 OID_ProtocolInformation
[] = { OID_ATTR_TYPE
, 48 },
104 OID_DistinguishedName
[] = { OID_ATTR_TYPE
, 49 },
105 OID_UniqueMember
[] = { OID_ATTR_TYPE
, 50 },
106 OID_HouseIdentifier
[] = { OID_ATTR_TYPE
, 51 }
110 CSSMOID_ObjectClass
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_ObjectClass
},
111 CSSMOID_AliasedEntryName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_AliasedEntryName
},
112 CSSMOID_KnowledgeInformation
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_KnowledgeInformation
},
113 CSSMOID_CommonName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_CommonName
},
114 CSSMOID_Surname
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Surname
},
115 CSSMOID_SerialNumber
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_SerialNumber
},
116 CSSMOID_CountryName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_CountryName
},
117 CSSMOID_LocalityName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_LocalityName
},
118 CSSMOID_StateProvinceName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_StateProvinceName
},
119 CSSMOID_CollectiveStateProvinceName
120 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveStateProvinceName
},
121 CSSMOID_StreetAddress
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_StreetAddress
},
122 CSSMOID_CollectiveStreetAddress
= { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveStreetAddress
},
123 CSSMOID_OrganizationName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_OrganizationName
},
124 CSSMOID_CollectiveOrganizationName
125 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveOrganizationName
},
126 CSSMOID_OrganizationalUnitName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_OrganizationalUnitName
},
127 CSSMOID_CollectiveOrganizationalUnitName
128 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveOrganizationalUnitName
},
129 CSSMOID_Title
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Title
},
130 CSSMOID_Description
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Description
},
131 CSSMOID_SearchGuide
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_SearchGuide
},
132 CSSMOID_BusinessCategory
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_BusinessCategory
},
133 CSSMOID_PostalAddress
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PostalAddress
},
134 CSSMOID_CollectivePostalAddress
= { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectivePostalAddress
},
135 CSSMOID_PostalCode
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PostalCode
},
136 CSSMOID_CollectivePostalCode
= { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectivePostalCode
},
137 CSSMOID_PostOfficeBox
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PostOfficeBox
},
138 CSSMOID_CollectivePostOfficeBox
= { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectivePostOfficeBox
},
139 CSSMOID_PhysicalDeliveryOfficeName
140 = { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PhysicalDeliveryOfficeName
},
141 CSSMOID_CollectivePhysicalDeliveryOfficeName
142 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectivePhysicalDeliveryOfficeName
},
143 CSSMOID_TelephoneNumber
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_TelephoneNumber
},
144 CSSMOID_CollectiveTelephoneNumber
145 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveTelephoneNumber
},
146 CSSMOID_TelexNumber
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_TelexNumber
},
147 CSSMOID_CollectiveTelexNumber
= { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveTelexNumber
},
148 CSSMOID_TelexTerminalIdentifier
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_TelexTerminalIdentifier
},
149 CSSMOID_CollectiveTelexTerminalIdentifier
150 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveTelexTerminalIdentifier
},
151 CSSMOID_FacsimileTelephoneNumber
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_FacsimileTelephoneNumber
},
152 CSSMOID_CollectiveFacsimileTelephoneNumber
153 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveFacsimileTelephoneNumber
},
154 CSSMOID_X_121Address
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_X_121Address
},
155 CSSMOID_InternationalISDNNumber
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_InternationalISDNNumber
},
156 CSSMOID_CollectiveInternationalISDNNumber
157 = { OID_ATTR_TYPE_LENGTH
+2, (uint8_t *)OID_CollectiveInternationalISDNNumber
},
158 CSSMOID_RegisteredAddress
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_RegisteredAddress
},
159 CSSMOID_DestinationIndicator
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_DestinationIndicator
},
160 CSSMOID_PreferredDeliveryMethod
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PreferredDeliveryMethod
},
161 CSSMOID_PresentationAddress
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_PresentationAddress
},
162 CSSMOID_SupportedApplicationContext
163 = { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_SupportedApplicationContext
},
164 CSSMOID_Member
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Member
},
165 CSSMOID_Owner
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Owner
},
166 CSSMOID_RoleOccupant
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_RoleOccupant
},
167 CSSMOID_SeeAlso
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_SeeAlso
},
168 CSSMOID_UserPassword
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_UserPassword
},
169 CSSMOID_UserCertificate
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_UserCertificate
},
170 CSSMOID_CACertificate
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_CACertificate
},
171 CSSMOID_AuthorityRevocationList
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_AuthorityRevocationList
},
172 CSSMOID_CertificateRevocationList
173 = { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_CertificateRevocationList
},
174 CSSMOID_CrossCertificatePair
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_CrossCertificatePair
},
175 CSSMOID_Name
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Name
},
176 CSSMOID_GivenName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_GivenName
},
177 CSSMOID_Initials
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_Initials
},
178 CSSMOID_GenerationQualifier
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_GenerationQualifier
},
179 CSSMOID_UniqueIdentifier
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_UniqueIdentifier
},
180 CSSMOID_DNQualifier
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_DNQualifier
},
181 CSSMOID_EnhancedSearchGuide
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_EnhancedSearchGuide
},
182 CSSMOID_ProtocolInformation
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_ProtocolInformation
},
183 CSSMOID_DistinguishedName
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_DistinguishedName
},
184 CSSMOID_UniqueMember
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_UniqueMember
},
185 CSSMOID_HouseIdentifier
= { OID_ATTR_TYPE_LENGTH
+1, (uint8_t *)OID_HouseIdentifier
}
191 OID_EmailAddress
[] = { OID_PKCS_9
, 1 },
192 OID_UnstructuredName
[] = { OID_PKCS_9
, 2 },
193 OID_ContentType
[] = { OID_PKCS_9
, 3 },
194 OID_MessageDigest
[] = { OID_PKCS_9
, 4 },
195 OID_SigningTime
[] = { OID_PKCS_9
, 5 },
196 OID_CounterSignature
[] = { OID_PKCS_9
, 6 },
197 OID_ChallengePassword
[] = { OID_PKCS_9
, 7 },
198 OID_UnstructuredAddress
[] = { OID_PKCS_9
, 8 },
199 OID_ExtendedCertificateAttributes
[] = { OID_PKCS_9
, 9 }
203 CSSMOID_EmailAddress
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_EmailAddress
},
204 CSSMOID_UnstructuredName
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_UnstructuredName
},
205 CSSMOID_ContentType
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_ContentType
},
206 CSSMOID_MessageDigest
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_MessageDigest
},
207 CSSMOID_SigningTime
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_SigningTime
},
208 CSSMOID_CounterSignature
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_CounterSignature
},
209 CSSMOID_ChallengePassword
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_ChallengePassword
},
210 CSSMOID_UnstructuredAddress
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_UnstructuredAddress
},
211 CSSMOID_ExtendedCertificateAttributes
= {OID_PKCS_9_LENGTH
+1, (uint8_t *)OID_ExtendedCertificateAttributes
};
215 OID_QT_CPS
[] = { OID_QT
, 1 },
216 OID_QT_UNOTICE
[] = { OID_QT
, 2 },
217 _OID_AD_OCSP
[] = { OID_AD_OCSP
},
218 OID_AD_CA_ISSUERS
[] = { OID_AD
, 2 },
219 OID_AD_TIME_STAMPING
[] = { OID_AD
, 3 },
220 OID_AD_CA_REPOSITORY
[] = { OID_AD
, 5 },
221 OID_PDA_DATE_OF_BIRTH
[] = { OID_PDA
, 1 },
222 OID_PDA_PLACE_OF_BIRTH
[] = { OID_PDA
, 2 },
223 OID_PDA_GENDER
[] = { OID_PDA
, 3 },
224 OID_PDA_COUNTRY_CITIZEN
[] = { OID_PDA
, 4 },
225 OID_PDA_COUNTRY_RESIDENCE
[] = { OID_PDA
, 5 },
226 OID_QCS_SYNTAX_V1
[] = { OID_QCS
, 1 },
227 OID_QCS_SYNTAX_V2
[] = { OID_QCS
, 2 }
232 OID_ETSI_QCS_QC_COMPLICANCE
[] = { OID_ETSI_QCS
, 1 },
233 OID_ETSI_QCS_QC_LIMIT_VALUE
[] = { OID_ETSI_QCS
, 2 },
234 __unused OID_ETSI_QCS_QC_RETENTION
[] = { OID_ETSI_QCS
, 3 },
235 __unused OID_ETSI_QCS_QC_SSCD
[] = { OID_ETSI_QCS
, 4 }
239 CSSMOID_QT_CPS
= {OID_QT_LENGTH
+1, (uint8_t *)OID_QT_CPS
},
240 CSSMOID_QT_UNOTICE
= {OID_QT_LENGTH
+1, (uint8_t *)OID_QT_UNOTICE
},
241 CSSMOID_AD_OCSP
= {OID_AD_LENGTH
+1, (uint8_t *)_OID_AD_OCSP
},
242 CSSMOID_AD_CA_ISSUERS
= {OID_AD_LENGTH
+1, (uint8_t *)OID_AD_CA_ISSUERS
},
243 CSSMOID_AD_TIME_STAMPING
= {OID_AD_LENGTH
+1, (uint8_t *)OID_AD_TIME_STAMPING
},
244 CSSMOID_AD_CA_REPOSITORY
= {OID_AD_LENGTH
+1, (uint8_t *)OID_AD_CA_REPOSITORY
},
245 CSSMOID_PDA_DATE_OF_BIRTH
= {OID_PDA_LENGTH
+1, (uint8_t *)OID_PDA_DATE_OF_BIRTH
},
246 CSSMOID_PDA_PLACE_OF_BIRTH
= {OID_PDA_LENGTH
+1, (uint8_t *)OID_PDA_PLACE_OF_BIRTH
},
247 CSSMOID_PDA_GENDER
= {OID_PDA_LENGTH
+1, (uint8_t *)OID_PDA_GENDER
},
248 CSSMOID_PDA_COUNTRY_CITIZEN
= {OID_PDA_LENGTH
+1, (uint8_t *)OID_PDA_COUNTRY_CITIZEN
},
249 CSSMOID_PDA_COUNTRY_RESIDENCE
= {OID_PDA_LENGTH
+1, (uint8_t *)OID_PDA_COUNTRY_RESIDENCE
},
250 CSSMOID_OID_QCS_SYNTAX_V1
= {OID_QCS_LENGTH
+1, (uint8_t *)OID_QCS_SYNTAX_V1
},
251 CSSMOID_OID_QCS_SYNTAX_V2
= {OID_QCS_LENGTH
+1, (uint8_t *)OID_QCS_SYNTAX_V2
}
255 CSSMOID_ETSI_QCS_QC_COMPLIANCE
= {OID_ETSI_QCS_LENGTH
+ 1,
256 (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE
},
257 CSSMOID_ETSI_QCS_QC_LIMIT_VALUE
= {OID_ETSI_QCS_LENGTH
+ 1,
258 (uint8_t *)OID_ETSI_QCS_QC_LIMIT_VALUE
},
259 CSSMOID_ETSI_QCS_QC_RETENTION
= {OID_ETSI_QCS_LENGTH
+ 1,
260 (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE
},
261 CSSMOID_ETSI_QCS_QC_SSCD
= {OID_ETSI_QCS_LENGTH
+ 1,
262 (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE
}
265 #define OID_PKCS12_BagTypes OID_PKCS_12,10,1
266 #define OID_PKCS12_BagTypesLength OID_PKCS_12_LENGTH+2
268 #define ID_PKCS9_CertTypes OID_PKCS_9, 22
269 #define OID_PKCS9_CertTypesLength OID_PKCS_9_LENGTH+1
270 #define ID_PKCS9_CrlTypes OID_PKCS_9, 23
271 #define OID_PKCS9_CrlTypesLength OID_PKCS_9_LENGTH+1
274 OID_PKCS7_Data
[] = { OID_PKCS_7
, 1},
275 OID_PKCS7_SignedData
[] = { OID_PKCS_7
, 2},
276 OID_PKCS7_EnvelopedData
[] = { OID_PKCS_7
, 3},
277 OID_PKCS7_SignedAndEnvelopedData
[] = { OID_PKCS_7
, 4},
278 OID_PKCS7_DigestedData
[] = { OID_PKCS_7
, 5},
279 OID_PKCS7_EncryptedData
[] = { OID_PKCS_7
, 6},
280 OID_PKCS7_DataWithAttributes
[] = { OID_PKCS_7
, 7},
281 OID_PKCS7_EncryptedPrivateKeyInfo
[] = { OID_PKCS_7
, 8},
283 OID_PKCS9_FriendlyName
[] = { OID_PKCS_9
, 20},
284 OID_PKCS9_LocalKeyId
[] = { OID_PKCS_9
, 21},
285 OID_PKCS9_CertTypes
[] = { ID_PKCS9_CertTypes
},
286 OID_PKCS9_CrlTypes
[] = { ID_PKCS9_CrlTypes
},
287 OID_PKCS9_X509Certificate
[] = { ID_PKCS9_CertTypes
, 1 },
288 OID_PKCS9_SdsiCertificate
[] = { ID_PKCS9_CertTypes
, 2 },
289 OID_PKCS9_X509Crl
[] = { ID_PKCS9_CrlTypes
, 1 },
291 OID_PKCS12_keyBag
[] = { OID_PKCS12_BagTypes
, 1},
292 OID_PKCS12_shroundedKeyBag
[] = { OID_PKCS12_BagTypes
, 2},
293 OID_PKCS12_certBag
[] = { OID_PKCS12_BagTypes
, 3},
294 OID_PKCS12_crlBag
[] = { OID_PKCS12_BagTypes
, 4},
295 OID_PKCS12_secretBag
[] = { OID_PKCS12_BagTypes
, 5},
296 OID_PKCS12_safeContentsBag
[] = { OID_PKCS12_BagTypes
, 6}
301 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1)}
304 {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2)}
306 -- eContentType for a time-stamp token
308 id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2)
309 us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4}
311 id-aa-timeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2)
312 us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 14 }
315 #define ID_PKCS9_SMIME OID_PKCS_9, 16
316 #define OID_PKCS9_SMIMELength OID_PKCS_9_LENGTH+1
317 #define ID_PKCS9_CONTENT_TYPES ID_PKCS9_SMIME, 1
318 #define OID_PKCS9_CT_Length OID_PKCS9_SMIMELength+1
319 #define ID_PKCS9_ATTRIBUTES ID_PKCS9_SMIME, 2
320 #define OID_PKCS9_Attrs_Length OID_PKCS9_SMIMELength+1
323 OID_ID_CT_TSTInfo
[] = { ID_PKCS9_CONTENT_TYPES
, 4 },
324 OID_TimeStampToken
[] = { ID_PKCS9_ATTRIBUTES
, 14 };
327 CSSMOID_PKCS9_Id_Ct_TSTInfo
= {OID_PKCS9_CT_Length
+ 1,
328 (uint8_t *)OID_ID_CT_TSTInfo
},
329 CSSMOID_PKCS9_TimeStampToken
= {OID_PKCS9_Attrs_Length
+ 1,
330 (uint8_t *)OID_TimeStampToken
};
334 CSSMOID_PKCS7_Data
= {OID_PKCS_7_LENGTH
+ 1,
335 (uint8_t *)OID_PKCS7_Data
},
336 CSSMOID_PKCS7_SignedData
= {OID_PKCS_7_LENGTH
+ 1,
337 (uint8_t *)OID_PKCS7_SignedData
},
338 CSSMOID_PKCS7_EnvelopedData
= {OID_PKCS_7_LENGTH
+ 1,
339 (uint8_t *)OID_PKCS7_EnvelopedData
},
340 CSSMOID_PKCS7_SignedAndEnvelopedData
= {OID_PKCS_7_LENGTH
+ 1,
341 (uint8_t *)OID_PKCS7_SignedAndEnvelopedData
},
342 CSSMOID_PKCS7_DigestedData
= {OID_PKCS_7_LENGTH
+ 1,
343 (uint8_t *)OID_PKCS7_DigestedData
},
344 CSSMOID_PKCS7_EncryptedData
= {OID_PKCS_7_LENGTH
+ 1,
345 (uint8_t *)OID_PKCS7_EncryptedData
},
346 CSSMOID_PKCS7_DataWithAttributes
= {OID_PKCS_7_LENGTH
+ 1,
347 (uint8_t *)OID_PKCS7_DataWithAttributes
},
348 CSSMOID_PKCS7_EncryptedPrivateKeyInfo
= {OID_PKCS_7_LENGTH
+ 1,
349 (uint8_t *)OID_PKCS7_EncryptedPrivateKeyInfo
},
351 CSSMOID_PKCS9_FriendlyName
= {OID_PKCS_9_LENGTH
+ 1,
352 (uint8_t *)OID_PKCS9_FriendlyName
},
353 CSSMOID_PKCS9_LocalKeyId
= {OID_PKCS_9_LENGTH
+ 1,
354 (uint8_t *)OID_PKCS9_LocalKeyId
},
355 CSSMOID_PKCS9_CertTypes
= {OID_PKCS_9_LENGTH
+ 1,
356 (uint8_t *)OID_PKCS9_CertTypes
},
357 CSSMOID_PKCS9_CrlTypes
= {OID_PKCS_9_LENGTH
+ 1,
358 (uint8_t *)OID_PKCS9_CrlTypes
},
359 CSSMOID_PKCS9_X509Certificate
= {OID_PKCS9_CertTypesLength
+ 1,
360 (uint8_t *)OID_PKCS9_X509Certificate
},
361 CSSMOID_PKCS9_SdsiCertificate
= {OID_PKCS9_CertTypesLength
+ 1,
362 (uint8_t *)OID_PKCS9_SdsiCertificate
},
363 CSSMOID_PKCS9_X509Crl
= {OID_PKCS9_CrlTypesLength
+ 1,
364 (uint8_t *)OID_PKCS9_X509Crl
},
367 CSSMOID_PKCS12_keyBag
= {OID_PKCS12_BagTypesLength
+ 1,
368 (uint8_t *)OID_PKCS12_keyBag
},
369 CSSMOID_PKCS12_shroudedKeyBag
= {OID_PKCS12_BagTypesLength
+ 1,
370 (uint8_t *)OID_PKCS12_shroundedKeyBag
},
371 CSSMOID_PKCS12_certBag
= {OID_PKCS12_BagTypesLength
+ 1,
372 (uint8_t *)OID_PKCS12_certBag
},
373 CSSMOID_PKCS12_crlBag
= {OID_PKCS12_BagTypesLength
+ 1,
374 (uint8_t *)OID_PKCS12_crlBag
},
375 CSSMOID_PKCS12_secretBag
= {OID_PKCS12_BagTypesLength
+ 1,
376 (uint8_t *)OID_PKCS12_secretBag
},
377 CSSMOID_PKCS12_safeContentsBag
= {OID_PKCS12_BagTypesLength
+ 1,
378 (uint8_t *)OID_PKCS12_safeContentsBag
}
382 /* Kerberos PKINIT CMS ContentInfo types */
385 OID_KERBv5_PKINIT_AUTH_DATA
[] = { OID_KERBv5_PKINIT
, 1 },
386 OID_KERBv5_PKINIT_DH_KEY_DATA
[] = { OID_KERBv5_PKINIT
, 2 },
387 OID_KERBv5_PKINIT_RKEY_DATA
[] = { OID_KERBv5_PKINIT
, 3 };
390 CSSMOID_KERBv5_PKINIT_AUTH_DATA
= { OID_KERBv5_PKINIT_LEN
+ 1,
391 (uint8_t *)OID_KERBv5_PKINIT_AUTH_DATA
},
392 CSSMOID_KERBv5_PKINIT_DH_KEY_DATA
= { OID_KERBv5_PKINIT_LEN
+ 1,
393 (uint8_t *)OID_KERBv5_PKINIT_DH_KEY_DATA
},
394 CSSMOID_KERBv5_PKINIT_RKEY_DATA
= { OID_KERBv5_PKINIT_LEN
+ 1,
395 (uint8_t *)OID_KERBv5_PKINIT_RKEY_DATA
};
398 * Additional OIDS for LDAP support
402 OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_Data
[] = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID
};
405 CSSMOID_UserID
= {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_LENGTH
, (uint8_t *)OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_Data
};
408 OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_Data
[] = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT
};
411 CSSMOID_DomainComponent
= {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_LENGTH
, (uint8_t *)OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_Data
};
413 /* ANSI X9.62 and Certicom elliptic curve OIDs */
415 OID_X9_62
[] = { OID_ANSI_X9_62
},
416 OID_X9_62_FieldType
[] = { OID_ANSI_X9_62_FIELD_TYPE
},
417 OID_X9_62_PubKeyType
[] = { OID_ANSI_X9_62_PUBKEY_TYPE
},
418 OID_X9_62_EllCurve
[] = { OID_ANSI_X9_62_ELL_CURVE
},
419 OID_X9_62_C_TwoCurve
[] = { OID_ANSI_X9_62_C_TWO_CURVE
},
420 OID_X9_62_PrimeCurve
[] = { OID_ANSI_X9_62_PRIME_CURVE
},
421 OID_X9_62_SigType
[] = { OID_ANSI_X9_62_SIG_TYPE
},
423 /* these two defined in ANSI X9.62 but renamed in common usage */
424 OID_secp192r1
[] = { OID_ANSI_X9_62_PRIME_CURVE
, 1 },
425 OID_secp256r1
[] = { OID_ANSI_X9_62_PRIME_CURVE
, 7 },
426 /* remainder defined in Certicom SEC 2 */
427 OID_Certicom
[] = { OID_CERTICOM
},
428 OID_CerticomEllCurve
[] = { OID_CERTICOM_ELL_CURVE
},
429 /* curves over prime-order fields */
430 OID_secp112r1
[] = { OID_CERTICOM_ELL_CURVE
, 6 },
431 OID_secp112r2
[] = { OID_CERTICOM_ELL_CURVE
, 7 },
432 OID_secp128r1
[] = { OID_CERTICOM_ELL_CURVE
, 28 },
433 OID_secp128r2
[] = { OID_CERTICOM_ELL_CURVE
, 29 },
434 OID_secp160k1
[] = { OID_CERTICOM_ELL_CURVE
, 9 },
435 OID_secp160r1
[] = { OID_CERTICOM_ELL_CURVE
, 8 },
436 OID_secp160r2
[] = { OID_CERTICOM_ELL_CURVE
, 30 },
437 OID_secp192k1
[] = { OID_CERTICOM_ELL_CURVE
, 31 },
438 OID_secp224k1
[] = { OID_CERTICOM_ELL_CURVE
, 32 },
439 OID_secp224r1
[] = { OID_CERTICOM_ELL_CURVE
, 33 },
440 OID_secp256k1
[] = { OID_CERTICOM_ELL_CURVE
, 10 },
441 OID_secp384r1
[] = { OID_CERTICOM_ELL_CURVE
, 34 },
442 OID_secp521r1
[] = { OID_CERTICOM_ELL_CURVE
, 35 },
443 /* curves over characteristic 2 fields */
444 OID_sect113r1
[] = { OID_CERTICOM_ELL_CURVE
, 4 },
445 OID_sect113r2
[] = { OID_CERTICOM_ELL_CURVE
, 5 },
446 OID_sect131r1
[] = { OID_CERTICOM_ELL_CURVE
, 22 },
447 OID_sect131r2
[] = { OID_CERTICOM_ELL_CURVE
, 23 },
448 OID_sect163k1
[] = { OID_CERTICOM_ELL_CURVE
, 1 },
449 OID_sect163r1
[] = { OID_CERTICOM_ELL_CURVE
, 2 },
450 OID_sect163r2
[] = { OID_CERTICOM_ELL_CURVE
, 15 },
451 OID_sect193r1
[] = { OID_CERTICOM_ELL_CURVE
, 24 },
452 OID_sect193r2
[] = { OID_CERTICOM_ELL_CURVE
, 25 },
453 OID_sect233k1
[] = { OID_CERTICOM_ELL_CURVE
, 26 },
454 OID_sect233r1
[] = { OID_CERTICOM_ELL_CURVE
, 27 },
455 OID_sect239k1
[] = { OID_CERTICOM_ELL_CURVE
, 3 },
456 OID_sect283k1
[] = { OID_CERTICOM_ELL_CURVE
, 16 },
457 OID_sect283r1
[] = { OID_CERTICOM_ELL_CURVE
, 17 },
458 OID_sect409k1
[] = { OID_CERTICOM_ELL_CURVE
, 36 },
459 OID_sect409r1
[] = { OID_CERTICOM_ELL_CURVE
, 37 },
460 OID_sect571k1
[] = { OID_CERTICOM_ELL_CURVE
, 38 },
461 OID_sect571r1
[] = { OID_CERTICOM_ELL_CURVE
, 39 }
465 CSSMOID_X9_62
= {OID_ANSI_X9_42_LEN
, (uint8_t *)OID_X9_62
},
466 CSSMOID_X9_62_FieldType
= {OID_ANSI_X9_42_LEN
+1, (uint8_t *)OID_X9_62_FieldType
},
467 CSSMOID_X9_62_PubKeyType
= {OID_ANSI_X9_42_LEN
+1, (uint8_t *)OID_X9_62_PubKeyType
},
468 CSSMOID_X9_62_EllCurve
= {OID_ANSI_X9_42_LEN
+1, (uint8_t *)OID_X9_62_EllCurve
},
469 CSSMOID_X9_62_C_TwoCurve
= {OID_ANSI_X9_62_ELL_CURVE_LEN
+1, (uint8_t *)OID_X9_62_C_TwoCurve
},
470 CSSMOID_X9_62_PrimeCurve
= {OID_ANSI_X9_62_ELL_CURVE_LEN
+1, (uint8_t *)OID_X9_62_PrimeCurve
},
471 CSSMOID_X9_62_SigType
= {OID_ANSI_X9_42_LEN
+1, (uint8_t *)OID_X9_62_SigType
},
472 CSSMOID_secp192r1
= {OID_ANSI_X9_62_ELL_CURVE_LEN
+2, (uint8_t *)OID_secp192r1
},
473 CSSMOID_secp256r1
= {OID_ANSI_X9_62_ELL_CURVE_LEN
+2, (uint8_t *)OID_secp256r1
},
474 CSSMOID_Certicom
= {OID_CERTICOM_LEN
, (uint8_t *)OID_Certicom
},
475 CSSMOID_CerticomEllCurve
= {OID_CERTICOM_ELL_CURVE_LEN
, (uint8_t *)OID_CerticomEllCurve
},
476 CSSMOID_secp112r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp112r1
},
477 CSSMOID_secp112r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp112r2
},
478 CSSMOID_secp128r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp128r1
},
479 CSSMOID_secp128r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp128r2
},
480 CSSMOID_secp160k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp160k1
},
481 CSSMOID_secp160r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp160r1
},
482 CSSMOID_secp160r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp160r2
},
483 CSSMOID_secp192k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp192k1
},
484 CSSMOID_secp224k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp224k1
},
485 CSSMOID_secp224r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp224r1
},
486 CSSMOID_secp256k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp256k1
},
487 CSSMOID_secp384r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp384r1
},
488 CSSMOID_secp521r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_secp521r1
},
489 CSSMOID_sect113r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect113r1
},
490 CSSMOID_sect113r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect113r2
},
491 CSSMOID_sect131r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect131r1
},
492 CSSMOID_sect131r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect131r2
},
493 CSSMOID_sect163k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect163k1
},
494 CSSMOID_sect163r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect163r1
},
495 CSSMOID_sect163r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect163r2
},
496 CSSMOID_sect193r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect193r1
},
497 CSSMOID_sect193r2
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect193r2
},
498 CSSMOID_sect233k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect233k1
},
499 CSSMOID_sect233r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect233r1
},
500 CSSMOID_sect239k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect239k1
},
501 CSSMOID_sect283k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect283k1
},
502 CSSMOID_sect283r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect283r1
},
503 CSSMOID_sect409k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect409k1
},
504 CSSMOID_sect409r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect409r1
},
505 CSSMOID_sect571k1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect571k1
},
506 CSSMOID_sect571r1
= {OID_CERTICOM_ELL_CURVE_LEN
+1, (uint8_t *)OID_sect571r1
};