kmfoids.c revision 3754:79eeec53e95c
1/*
2 * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3 * Use is subject to license terms.
4 */
5/*
6 * Copyright(c) 1995-2000 Intel Corporation. All rights reserved.
7 */
8
9#pragma ident	"%Z%%M%	%I%	%E% SMI"
10
11#include <kmfapi.h>
12
13/* From X.520 */
14static uint8_t
15OID_ObjectClass[] = { OID_ATTR_TYPE, 0 },
16OID_AliasedEntryName[] = { OID_ATTR_TYPE, 1 },
17OID_KnowledgeInformation[] = { OID_ATTR_TYPE, 2 },
18OID_CommonName[] = { OID_ATTR_TYPE, 3 },
19OID_Surname[] = { OID_ATTR_TYPE, 4 },
20OID_SerialNumber[] = { OID_ATTR_TYPE, 5 },
21OID_CountryName[] = { OID_ATTR_TYPE, 6 },
22OID_LocalityName[] = { OID_ATTR_TYPE, 7 },
23OID_StateProvinceName[] = { OID_ATTR_TYPE, 8 },
24OID_CollectiveStateProvinceName[] = { OID_ATTR_TYPE, 8, 1 },
25OID_StreetAddress[] = { OID_ATTR_TYPE, 9 },
26OID_CollectiveStreetAddress[] = { OID_ATTR_TYPE, 9, 1 },
27OID_OrganizationName[] = { OID_ATTR_TYPE, 10 },
28OID_CollectiveOrganizationName[] = { OID_ATTR_TYPE, 10, 1 },
29OID_OrganizationalUnitName[] = { OID_ATTR_TYPE, 11 },
30OID_CollectiveOrganizationalUnitName[] = { OID_ATTR_TYPE, 11, 1 },
31OID_Title[] = { OID_ATTR_TYPE, 12 },
32OID_Description[] = { OID_ATTR_TYPE, 13 },
33OID_SearchGuide[] = { OID_ATTR_TYPE, 14 },
34OID_BusinessCategory[] = { OID_ATTR_TYPE, 15 },
35OID_PostalAddress[] = { OID_ATTR_TYPE, 16 },
36OID_CollectivePostalAddress[] = { OID_ATTR_TYPE, 16, 1 },
37OID_PostalCode[] = { OID_ATTR_TYPE, 17 },
38OID_CollectivePostalCode[] = { OID_ATTR_TYPE, 17, 1 },
39OID_PostOfficeBox[] = { OID_ATTR_TYPE, 18 },
40OID_CollectivePostOfficeBox[] = { OID_ATTR_TYPE, 18, 1 },
41OID_PhysicalDeliveryOfficeName[] = { OID_ATTR_TYPE, 19 },
42OID_CollectivePhysicalDeliveryOfficeName[] = { OID_ATTR_TYPE, 19, 1 },
43OID_TelephoneNumber[] = { OID_ATTR_TYPE, 20 },
44OID_CollectiveTelephoneNumber[] = { OID_ATTR_TYPE, 20, 1 },
45OID_TelexNumber[] = { OID_ATTR_TYPE, 21 },
46OID_CollectiveTelexNumber[] = { OID_ATTR_TYPE, 21, 1 },
47OID_TelexTerminalIdentifier[] = { OID_ATTR_TYPE, 22 },
48OID_CollectiveTelexTerminalIdentifier[] = { OID_ATTR_TYPE, 22, 1 },
49OID_FacsimileTelephoneNumber[] = { OID_ATTR_TYPE, 23 },
50OID_CollectiveFacsimileTelephoneNumber[] = { OID_ATTR_TYPE, 23, 1 },
51OID_X_121Address[] = { OID_ATTR_TYPE, 24 },
52OID_InternationalISDNNumber[] = { OID_ATTR_TYPE, 25 },
53OID_CollectiveInternationalISDNNumber[] = { OID_ATTR_TYPE, 25, 1 },
54OID_RegisteredAddress[] = { OID_ATTR_TYPE, 26 },
55OID_DestinationIndicator[] = { OID_ATTR_TYPE, 27 },
56OID_PreferredDeliveryMethod[] = { OID_ATTR_TYPE, 28 },
57OID_PresentationAddress[] = { OID_ATTR_TYPE, 29 },
58OID_SupportedApplicationContext[] = { OID_ATTR_TYPE, 30 },
59OID_Member[] = { OID_ATTR_TYPE, 31 },
60OID_Owner[] = { OID_ATTR_TYPE, 32 },
61OID_RoleOccupant[] = { OID_ATTR_TYPE, 33 },
62OID_SeeAlso[] = { OID_ATTR_TYPE, 34 },
63OID_UserPassword[] = { OID_ATTR_TYPE, 35 },
64OID_UserCertificate[] = { OID_ATTR_TYPE, 36 },
65OID_CACertificate[] = { OID_ATTR_TYPE, 37 },
66OID_AuthorityRevocationList[] = { OID_ATTR_TYPE, 38 },
67OID_CertificateRevocationList[] = { OID_ATTR_TYPE, 39 },
68OID_CrossCertificatePair[] = { OID_ATTR_TYPE, 40 },
69OID_Name[] = { OID_ATTR_TYPE, 41 },
70OID_GivenName[] = { OID_ATTR_TYPE, 42 },
71OID_Initials[] = { OID_ATTR_TYPE, 43 },
72OID_GenerationQualifier[] = { OID_ATTR_TYPE, 44 },
73OID_UniqueIdentifier[] = { OID_ATTR_TYPE, 45 },
74OID_DNQualifier[] = { OID_ATTR_TYPE, 46 },
75OID_EnhancedSearchGuide[] = { OID_ATTR_TYPE, 47 },
76OID_ProtocolInformation[] = { OID_ATTR_TYPE, 48 },
77OID_DistinguishedName[] = { OID_ATTR_TYPE, 49 },
78OID_UniqueMember[] = { OID_ATTR_TYPE, 50 },
79OID_HouseIdentifier[] = { OID_ATTR_TYPE, 51 }
80/* OID_SupportedAlgorithms[] = { OID_ATTR_TYPE, 52 }, */
81/* OID_DeltaRevocationList[] = { OID_ATTR_TYPE, 53 }, */
82/* OID_AttributeCertificate[] = { OID_ATTR_TYPE, 58 } */
83;
84
85/* From PKCS 9 */
86static uint8_t
87OID_EmailAddress[] = { OID_PKCS_9, 1 },
88OID_UnstructuredName[] = { OID_PKCS_9, 2 },
89OID_ContentType[] = { OID_PKCS_9, 3 },
90OID_MessageDigest[] = { OID_PKCS_9, 4 },
91OID_SigningTime[] = { OID_PKCS_9, 5 },
92OID_CounterSignature[] = { OID_PKCS_9, 6 },
93OID_ChallengePassword[] = { OID_PKCS_9, 7 },
94OID_UnstructuredAddress[] = { OID_PKCS_9, 8 },
95OID_ExtendedCertificateAttributes[] = { OID_PKCS_9, 9 },
96OID_ExtensionRequest[] = { OID_PKCS_9, 14 };
97
98/* From PKIX 1 */
99/* Standard Extensions */
100static uint8_t
101OID_SubjectDirectoryAttributes[] = { OID_EXTENSION, 9 },
102OID_SubjectKeyIdentifier[] = { OID_EXTENSION, 14 },
103OID_KeyUsage[] = { OID_EXTENSION, 15 },
104OID_PrivateKeyUsagePeriod[] = { OID_EXTENSION, 16 },
105OID_SubjectAltName[] = { OID_EXTENSION, 17 },
106OID_IssuerAltName[] = { OID_EXTENSION, 18 },
107OID_BasicConstraints[] = { OID_EXTENSION, 19 },
108OID_CrlNumber[] = { OID_EXTENSION, 20 },
109OID_CrlReason[] = { OID_EXTENSION, 21 },
110OID_HoldInstructionCode[] = { OID_EXTENSION, 23 },
111OID_InvalidityDate[] = { OID_EXTENSION, 24 },
112OID_DeltaCrlIndicator[] = { OID_EXTENSION, 27 },
113OID_IssuingDistributionPoints[] = { OID_EXTENSION, 28 },
114
115/* OID_CertificateIssuer[] = { OID_EXTENSION, 29 }, */
116OID_NameConstraints[] = { OID_EXTENSION, 30 },
117OID_CrlDistributionPoints[] = { OID_EXTENSION, 31 },
118OID_CertificatePolicies[] = { OID_EXTENSION, 32 },
119OID_PolicyMappings[] = { OID_EXTENSION, 33 },
120/* 34 deprecated */
121OID_AuthorityKeyIdentifier[] = { OID_EXTENSION, 35 },
122OID_PolicyConstraints[] = { OID_EXTENSION, 36 },
123OID_ExtKeyUsage[] = { OID_EXTENSION, 37 }
124;
125
126/* PKIX-defined extended key purpose OIDs */
127static uint8_t
128OID_QT_CPSuri[]		 = { OID_PKIX_QT_CPS },
129OID_QT_Unotice[]	 = { OID_PKIX_QT_UNOTICE },
130
131OID_KP_ServerAuth[]	 = { OID_PKIX_KP, 1 },
132OID_KP_ClientAuth[] = { OID_PKIX_KP, 2 },
133OID_KP_CodeSigning[] = { OID_PKIX_KP, 3 },
134OID_KP_EmailProtection[] = { OID_PKIX_KP, 4 },
135OID_KP_IPSecEndSystem[] = { OID_PKIX_KP, 5 },
136OID_KP_IPSecTunnel[] = { OID_PKIX_KP, 6 },
137OID_KP_IPSecUser[] = { OID_PKIX_KP, 7 },
138OID_KP_TimeStamping[] = { OID_PKIX_KP, 8 },
139OID_KP_OCSPSigning[] = { OID_PKIX_KP, 9 }
140;
141
142/* From PKIX 1 */
143static uint8_t
144OID_AuthorityInfoAccess[] = { OID_PKIX_PE, 1};
145
146const KMF_OID
147KMFOID_AuthorityInfoAccess = {OID_PKIX_LENGTH + 2, OID_AuthorityInfoAccess};
148
149static uint8_t
150OID_PkixAdOcsp[] = {OID_PKIX_AD, 1};
151
152const KMF_OID
153KMFOID_PkixAdOcsp = {OID_PKIX_AD_LENGTH + 1, OID_PkixAdOcsp};
154
155static uint8_t
156OID_PkixAdCaIssuers[] = {OID_PKIX_AD, 2};
157
158const KMF_OID
159KMFOID_PkixAdCaIssuers = {OID_PKIX_AD_LENGTH + 1, OID_PkixAdCaIssuers};
160
161/*
162 * From RFC 1274
163 */
164static uint8_t
165OID_userid[] =		{OID_PILOT, 1},
166OID_RFC822mailbox[] =	{OID_PILOT, 3},
167OID_domainComponent[] =	{OID_PILOT, 25};
168
169const KMF_OID
170KMFOID_userid		= {OID_PILOT_LENGTH + 1, OID_userid},
171KMFOID_RFC822mailbox	= {OID_PILOT_LENGTH + 1, OID_RFC822mailbox},
172KMFOID_domainComponent	= {OID_PILOT_LENGTH + 1, OID_domainComponent},
173KMFOID_ObjectClass = {OID_ATTR_TYPE_LENGTH+1, OID_ObjectClass},
174KMFOID_AliasedEntryName = {OID_ATTR_TYPE_LENGTH+1, OID_AliasedEntryName},
175KMFOID_KnowledgeInformation = {OID_ATTR_TYPE_LENGTH+1,
176	OID_KnowledgeInformation},
177KMFOID_CommonName = {OID_ATTR_TYPE_LENGTH+1, OID_CommonName},
178KMFOID_Surname = {OID_ATTR_TYPE_LENGTH+1, OID_Surname},
179KMFOID_SerialNumber = {OID_ATTR_TYPE_LENGTH+1, OID_SerialNumber},
180KMFOID_CountryName = {OID_ATTR_TYPE_LENGTH+1, OID_CountryName},
181KMFOID_LocalityName = {OID_ATTR_TYPE_LENGTH+1, OID_LocalityName},
182KMFOID_StateProvinceName = {OID_ATTR_TYPE_LENGTH+1, OID_StateProvinceName},
183KMFOID_CollectiveStateProvinceName = {OID_ATTR_TYPE_LENGTH+2,
184	OID_CollectiveStateProvinceName},
185KMFOID_StreetAddress = {OID_ATTR_TYPE_LENGTH+1, OID_StreetAddress},
186KMFOID_CollectiveStreetAddress = {OID_ATTR_TYPE_LENGTH+2,
187	OID_CollectiveStreetAddress},
188KMFOID_OrganizationName = {OID_ATTR_TYPE_LENGTH+1, OID_OrganizationName},
189KMFOID_CollectiveOrganizationName = {OID_ATTR_TYPE_LENGTH+2,
190	OID_CollectiveOrganizationName},
191KMFOID_OrganizationalUnitName = {OID_ATTR_TYPE_LENGTH+1,
192	OID_OrganizationalUnitName},
193KMFOID_CollectiveOrganizationalUnitName = {OID_ATTR_TYPE_LENGTH+2,
194	OID_CollectiveOrganizationalUnitName},
195KMFOID_Title = {OID_ATTR_TYPE_LENGTH+1, OID_Title},
196KMFOID_Description = {OID_ATTR_TYPE_LENGTH+1, OID_Description},
197KMFOID_SearchGuide = {OID_ATTR_TYPE_LENGTH+1, OID_SearchGuide},
198KMFOID_BusinessCategory = {OID_ATTR_TYPE_LENGTH+1, OID_BusinessCategory},
199KMFOID_PostalAddress = {OID_ATTR_TYPE_LENGTH+1, OID_PostalAddress},
200KMFOID_CollectivePostalAddress = {OID_ATTR_TYPE_LENGTH+2,
201	OID_CollectivePostalAddress},
202KMFOID_PostalCode = {OID_ATTR_TYPE_LENGTH+1, OID_PostalCode},
203KMFOID_CollectivePostalCode = {OID_ATTR_TYPE_LENGTH+2,
204	OID_CollectivePostalCode},
205KMFOID_PostOfficeBox = {OID_ATTR_TYPE_LENGTH+1, OID_PostOfficeBox},
206KMFOID_CollectivePostOfficeBox = {OID_ATTR_TYPE_LENGTH+2,
207	OID_CollectivePostOfficeBox},
208KMFOID_PhysicalDeliveryOfficeName = {OID_ATTR_TYPE_LENGTH+1,
209	OID_PhysicalDeliveryOfficeName},
210KMFOID_CollectivePhysicalDeliveryOfficeName = {OID_ATTR_TYPE_LENGTH+2,
211	OID_CollectivePhysicalDeliveryOfficeName},
212KMFOID_TelephoneNumber = {OID_ATTR_TYPE_LENGTH+1, OID_TelephoneNumber},
213KMFOID_CollectiveTelephoneNumber = {OID_ATTR_TYPE_LENGTH+2,
214	OID_CollectiveTelephoneNumber},
215KMFOID_TelexNumber = {OID_ATTR_TYPE_LENGTH+1, OID_TelexNumber},
216KMFOID_CollectiveTelexNumber = {OID_ATTR_TYPE_LENGTH+2,
217	OID_CollectiveTelexNumber},
218KMFOID_TelexTerminalIdentifier = {OID_ATTR_TYPE_LENGTH+1,
219	OID_TelexTerminalIdentifier},
220KMFOID_CollectiveTelexTerminalIdentifier = {OID_ATTR_TYPE_LENGTH+2,
221	OID_CollectiveTelexTerminalIdentifier},
222KMFOID_FacsimileTelephoneNumber = {OID_ATTR_TYPE_LENGTH+1,
223	OID_FacsimileTelephoneNumber},
224KMFOID_CollectiveFacsimileTelephoneNumber = {OID_ATTR_TYPE_LENGTH+2,
225	OID_CollectiveFacsimileTelephoneNumber},
226KMFOID_X_121Address = {OID_ATTR_TYPE_LENGTH+1, OID_X_121Address},
227KMFOID_InternationalISDNNumber = {OID_ATTR_TYPE_LENGTH+1,
228	OID_InternationalISDNNumber},
229KMFOID_CollectiveInternationalISDNNumber = {OID_ATTR_TYPE_LENGTH+2,
230	OID_CollectiveInternationalISDNNumber},
231KMFOID_RegisteredAddress = {OID_ATTR_TYPE_LENGTH+1, OID_RegisteredAddress},
232KMFOID_DestinationIndicator = {OID_ATTR_TYPE_LENGTH+1,
233	OID_DestinationIndicator},
234KMFOID_PreferredDeliveryMethod = {OID_ATTR_TYPE_LENGTH+1,
235	OID_PreferredDeliveryMethod},
236KMFOID_PresentationAddress = {OID_ATTR_TYPE_LENGTH+1,
237	OID_PresentationAddress},
238KMFOID_SupportedApplicationContext = {OID_ATTR_TYPE_LENGTH+1,
239	OID_SupportedApplicationContext},
240KMFOID_Member = {OID_ATTR_TYPE_LENGTH+1, OID_Member},
241KMFOID_Owner = {OID_ATTR_TYPE_LENGTH+1, OID_Owner},
242KMFOID_RoleOccupant = {OID_ATTR_TYPE_LENGTH+1, OID_RoleOccupant},
243KMFOID_SeeAlso = {OID_ATTR_TYPE_LENGTH+1, OID_SeeAlso},
244KMFOID_UserPassword = {OID_ATTR_TYPE_LENGTH+1, OID_UserPassword},
245KMFOID_UserCertificate = {OID_ATTR_TYPE_LENGTH+1, OID_UserCertificate},
246KMFOID_CACertificate = {OID_ATTR_TYPE_LENGTH+1, OID_CACertificate},
247KMFOID_AuthorityRevocationList = {OID_ATTR_TYPE_LENGTH+1,
248	OID_AuthorityRevocationList},
249KMFOID_CertificateRevocationList = {OID_ATTR_TYPE_LENGTH+1,
250	OID_CertificateRevocationList},
251KMFOID_CrossCertificatePair = {OID_ATTR_TYPE_LENGTH+1,
252	OID_CrossCertificatePair},
253KMFOID_Name = {OID_ATTR_TYPE_LENGTH+1, OID_Name},
254KMFOID_GivenName = {OID_ATTR_TYPE_LENGTH+1, OID_GivenName},
255KMFOID_Initials = {OID_ATTR_TYPE_LENGTH+1, OID_Initials},
256KMFOID_GenerationQualifier = {OID_ATTR_TYPE_LENGTH+1, OID_GenerationQualifier},
257KMFOID_UniqueIdentifier = {OID_ATTR_TYPE_LENGTH+1, OID_UniqueIdentifier},
258KMFOID_DNQualifier = {OID_ATTR_TYPE_LENGTH+1, OID_DNQualifier},
259KMFOID_EnhancedSearchGuide = {OID_ATTR_TYPE_LENGTH+1, OID_EnhancedSearchGuide},
260KMFOID_ProtocolInformation = {OID_ATTR_TYPE_LENGTH+1, OID_ProtocolInformation},
261KMFOID_DistinguishedName = {OID_ATTR_TYPE_LENGTH+1, OID_DistinguishedName},
262KMFOID_UniqueMember = {OID_ATTR_TYPE_LENGTH+1, OID_UniqueMember},
263KMFOID_HouseIdentifier = {OID_ATTR_TYPE_LENGTH+1, OID_HouseIdentifier},
264KMFOID_EmailAddress = {OID_PKCS_9_LENGTH+1, OID_EmailAddress},
265KMFOID_UnstructuredName = {OID_PKCS_9_LENGTH+1, OID_UnstructuredName},
266KMFOID_ContentType = {OID_PKCS_9_LENGTH+1, OID_ContentType},
267KMFOID_MessageDigest = {OID_PKCS_9_LENGTH+1, OID_MessageDigest},
268KMFOID_SigningTime = {OID_PKCS_9_LENGTH+1, OID_SigningTime},
269KMFOID_CounterSignature = {OID_PKCS_9_LENGTH+1, OID_CounterSignature},
270KMFOID_ChallengePassword = {OID_PKCS_9_LENGTH+1, OID_ChallengePassword},
271KMFOID_UnstructuredAddress = {OID_PKCS_9_LENGTH+1, OID_UnstructuredAddress},
272KMFOID_ExtendedCertificateAttributes = {OID_PKCS_9_LENGTH+1,
273	OID_ExtendedCertificateAttributes},
274KMFOID_ExtensionRequest = {OID_PKCS_9_LENGTH + 1, OID_ExtensionRequest};
275
276static uint8_t
277OID_AuthorityKeyID[] = { OID_EXTENSION, 1 },
278OID_VerisignCertificatePolicy[] = { OID_EXTENSION, 3 },
279OID_KeyUsageRestriction[] = { OID_EXTENSION, 4 };
280
281const KMF_OID
282KMFOID_AuthorityKeyID		 = {OID_EXTENSION_LENGTH+1, OID_AuthorityKeyID},
283
284KMFOID_VerisignCertificatePolicy = {OID_EXTENSION_LENGTH+1,
285	OID_VerisignCertificatePolicy},
286
287KMFOID_KeyUsageRestriction	 = {OID_EXTENSION_LENGTH+1,
288	OID_KeyUsageRestriction},
289
290KMFOID_SubjectDirectoryAttributes = {OID_EXTENSION_LENGTH+1,
291	OID_SubjectDirectoryAttributes},
292
293KMFOID_SubjectKeyIdentifier	 = {OID_EXTENSION_LENGTH+1,
294	OID_SubjectKeyIdentifier },
295KMFOID_KeyUsage		 = {OID_EXTENSION_LENGTH+1, OID_KeyUsage },
296
297KMFOID_PrivateKeyUsagePeriod	 = {OID_EXTENSION_LENGTH+1,
298	OID_PrivateKeyUsagePeriod},
299KMFOID_SubjectAltName	 = {OID_EXTENSION_LENGTH+1, OID_SubjectAltName },
300KMFOID_IssuerAltName	 = {OID_EXTENSION_LENGTH+1, OID_IssuerAltName },
301KMFOID_BasicConstraints	 = {OID_EXTENSION_LENGTH+1, OID_BasicConstraints },
302
303KMFOID_CrlNumber	 = {OID_EXTENSION_LENGTH+1, OID_CrlNumber},
304
305KMFOID_CrlReason	 = {OID_EXTENSION_LENGTH+1, OID_CrlReason},
306
307KMFOID_HoldInstructionCode = {OID_EXTENSION_LENGTH+1, OID_HoldInstructionCode},
308
309KMFOID_InvalidityDate	 = {OID_EXTENSION_LENGTH+1, OID_InvalidityDate},
310
311KMFOID_DeltaCrlIndicator = {OID_EXTENSION_LENGTH+1, OID_DeltaCrlIndicator},
312
313KMFOID_IssuingDistributionPoints = {OID_EXTENSION_LENGTH+1,
314	OID_IssuingDistributionPoints},
315
316KMFOID_NameConstraints	 = {OID_EXTENSION_LENGTH+1,
317	OID_NameConstraints},
318
319KMFOID_CrlDistributionPoints = {OID_EXTENSION_LENGTH+1,
320	OID_CrlDistributionPoints},
321
322KMFOID_CertificatePolicies = {OID_EXTENSION_LENGTH+1,
323	OID_CertificatePolicies},
324
325KMFOID_PolicyMappings	 = {OID_EXTENSION_LENGTH+1, OID_PolicyMappings},
326
327KMFOID_PolicyConstraints = {OID_EXTENSION_LENGTH+1, OID_PolicyConstraints},
328
329KMFOID_AuthorityKeyIdentifier = {OID_EXTENSION_LENGTH+1,
330	OID_AuthorityKeyIdentifier},
331
332KMFOID_ExtendedKeyUsage	 = {OID_EXTENSION_LENGTH+1, OID_ExtKeyUsage},
333
334KMFOID_PKIX_PQ_CPSuri	 = {OID_PKIX_QT_CPS_LENGTH, 	OID_QT_CPSuri},
335
336KMFOID_PKIX_PQ_Unotice	 = {OID_PKIX_QT_UNOTICE_LENGTH,	OID_QT_Unotice},
337
338/* Extended Key Usage OIDs */
339KMFOID_PKIX_KP_ServerAuth = {OID_PKIX_KP_LENGTH + 1, OID_KP_ServerAuth},
340
341KMFOID_PKIX_KP_ClientAuth = {OID_PKIX_KP_LENGTH + 1, OID_KP_ClientAuth},
342
343KMFOID_PKIX_KP_CodeSigning = {OID_PKIX_KP_LENGTH + 1, OID_KP_CodeSigning},
344
345KMFOID_PKIX_KP_EmailProtection	 = {OID_PKIX_KP_LENGTH + 1,
346	OID_KP_EmailProtection},
347
348KMFOID_PKIX_KP_IPSecEndSystem = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecEndSystem},
349
350KMFOID_PKIX_KP_IPSecTunnel = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecTunnel},
351
352KMFOID_PKIX_KP_IPSecUser = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecUser},
353
354KMFOID_PKIX_KP_TimeStamping = {OID_PKIX_KP_LENGTH + 1, OID_KP_TimeStamping},
355
356KMFOID_PKIX_KP_OCSPSigning = {OID_PKIX_KP_LENGTH + 1, OID_KP_OCSPSigning};
357
358static uint8_t
359OID_OIW_SHA1[] = { OID_OIW_ALGORITHM, 26},
360OID_OIW_DSA[] = { OID_OIW_ALGORITHM, 12  },
361OID_OIW_DSAWithSHA1[] = { OID_OIW_ALGORITHM, 27  },
362OID_RSAEncryption[] = { OID_PKCS_1, 1 },
363OID_MD2WithRSA[]   = { OID_PKCS_1, 2 },
364OID_MD5WithRSA[]   = { OID_PKCS_1, 4 },
365OID_SHA1WithRSA[]  = { OID_PKCS_1, 5 },
366OID_X9CM_DSA[] = { OID_X9CM_X9ALGORITHM, 1 },
367OID_X9CM_DSAWithSHA1[] = { OID_X9CM_X9ALGORITHM, 3};
368
369const KMF_OID
370KMFOID_SHA1 = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_SHA1},
371KMFOID_RSA = {OID_PKCS_1_LENGTH+1, OID_RSAEncryption},
372KMFOID_DSA = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_DSA},
373KMFOID_MD5WithRSA = {OID_PKCS_1_LENGTH+1, OID_MD5WithRSA},
374KMFOID_MD2WithRSA = {OID_PKCS_1_LENGTH+1, OID_MD2WithRSA},
375KMFOID_SHA1WithRSA = {OID_PKCS_1_LENGTH+1, OID_SHA1WithRSA},
376KMFOID_SHA1WithDSA = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_DSAWithSHA1},
377KMFOID_OIW_DSAWithSHA1  = {OID_OIW_ALGORITHM_LENGTH+1,
378	OID_OIW_DSAWithSHA1},
379KMFOID_X9CM_DSA = {OID_X9CM_X9ALGORITHM_LENGTH+1, OID_X9CM_DSA},
380KMFOID_X9CM_DSAWithSHA1 = {OID_X9CM_X9ALGORITHM_LENGTH+1,
381		OID_X9CM_DSAWithSHA1};
382