xref: /onnv-gate/usr/src/lib/libkmf/libkmf/common/kmfoids.c (revision 11973:480f5412d630)
13089Swyllys /*
2*11973Swyllys.ingersoll@sun.com  * Copyright 2010 Sun Microsystems, Inc.  All rights reserved.
33433Shaimay  * Use is subject to license terms.
43089Swyllys  */
53089Swyllys /*
63089Swyllys  * Copyright(c) 1995-2000 Intel Corporation. All rights reserved.
73089Swyllys  */
83089Swyllys 
93089Swyllys #include <kmfapi.h>
103089Swyllys 
113089Swyllys /* From X.520 */
123089Swyllys static uint8_t
133089Swyllys OID_ObjectClass[] = { OID_ATTR_TYPE, 0 },
143089Swyllys OID_AliasedEntryName[] = { OID_ATTR_TYPE, 1 },
153089Swyllys OID_KnowledgeInformation[] = { OID_ATTR_TYPE, 2 },
163089Swyllys OID_CommonName[] = { OID_ATTR_TYPE, 3 },
173089Swyllys OID_Surname[] = { OID_ATTR_TYPE, 4 },
183089Swyllys OID_SerialNumber[] = { OID_ATTR_TYPE, 5 },
193089Swyllys OID_CountryName[] = { OID_ATTR_TYPE, 6 },
203089Swyllys OID_LocalityName[] = { OID_ATTR_TYPE, 7 },
213089Swyllys OID_StateProvinceName[] = { OID_ATTR_TYPE, 8 },
223089Swyllys OID_CollectiveStateProvinceName[] = { OID_ATTR_TYPE, 8, 1 },
233089Swyllys OID_StreetAddress[] = { OID_ATTR_TYPE, 9 },
243089Swyllys OID_CollectiveStreetAddress[] = { OID_ATTR_TYPE, 9, 1 },
253089Swyllys OID_OrganizationName[] = { OID_ATTR_TYPE, 10 },
263089Swyllys OID_CollectiveOrganizationName[] = { OID_ATTR_TYPE, 10, 1 },
273089Swyllys OID_OrganizationalUnitName[] = { OID_ATTR_TYPE, 11 },
283089Swyllys OID_CollectiveOrganizationalUnitName[] = { OID_ATTR_TYPE, 11, 1 },
293089Swyllys OID_Title[] = { OID_ATTR_TYPE, 12 },
303089Swyllys OID_Description[] = { OID_ATTR_TYPE, 13 },
313089Swyllys OID_SearchGuide[] = { OID_ATTR_TYPE, 14 },
323089Swyllys OID_BusinessCategory[] = { OID_ATTR_TYPE, 15 },
333089Swyllys OID_PostalAddress[] = { OID_ATTR_TYPE, 16 },
343089Swyllys OID_CollectivePostalAddress[] = { OID_ATTR_TYPE, 16, 1 },
353089Swyllys OID_PostalCode[] = { OID_ATTR_TYPE, 17 },
363089Swyllys OID_CollectivePostalCode[] = { OID_ATTR_TYPE, 17, 1 },
373089Swyllys OID_PostOfficeBox[] = { OID_ATTR_TYPE, 18 },
383089Swyllys OID_CollectivePostOfficeBox[] = { OID_ATTR_TYPE, 18, 1 },
393089Swyllys OID_PhysicalDeliveryOfficeName[] = { OID_ATTR_TYPE, 19 },
403089Swyllys OID_CollectivePhysicalDeliveryOfficeName[] = { OID_ATTR_TYPE, 19, 1 },
413089Swyllys OID_TelephoneNumber[] = { OID_ATTR_TYPE, 20 },
423089Swyllys OID_CollectiveTelephoneNumber[] = { OID_ATTR_TYPE, 20, 1 },
433089Swyllys OID_TelexNumber[] = { OID_ATTR_TYPE, 21 },
443089Swyllys OID_CollectiveTelexNumber[] = { OID_ATTR_TYPE, 21, 1 },
453089Swyllys OID_TelexTerminalIdentifier[] = { OID_ATTR_TYPE, 22 },
463089Swyllys OID_CollectiveTelexTerminalIdentifier[] = { OID_ATTR_TYPE, 22, 1 },
473089Swyllys OID_FacsimileTelephoneNumber[] = { OID_ATTR_TYPE, 23 },
483089Swyllys OID_CollectiveFacsimileTelephoneNumber[] = { OID_ATTR_TYPE, 23, 1 },
493089Swyllys OID_X_121Address[] = { OID_ATTR_TYPE, 24 },
503089Swyllys OID_InternationalISDNNumber[] = { OID_ATTR_TYPE, 25 },
513089Swyllys OID_CollectiveInternationalISDNNumber[] = { OID_ATTR_TYPE, 25, 1 },
523089Swyllys OID_RegisteredAddress[] = { OID_ATTR_TYPE, 26 },
533089Swyllys OID_DestinationIndicator[] = { OID_ATTR_TYPE, 27 },
543089Swyllys OID_PreferredDeliveryMethod[] = { OID_ATTR_TYPE, 28 },
553089Swyllys OID_PresentationAddress[] = { OID_ATTR_TYPE, 29 },
563089Swyllys OID_SupportedApplicationContext[] = { OID_ATTR_TYPE, 30 },
573089Swyllys OID_Member[] = { OID_ATTR_TYPE, 31 },
583089Swyllys OID_Owner[] = { OID_ATTR_TYPE, 32 },
593089Swyllys OID_RoleOccupant[] = { OID_ATTR_TYPE, 33 },
603089Swyllys OID_SeeAlso[] = { OID_ATTR_TYPE, 34 },
613089Swyllys OID_UserPassword[] = { OID_ATTR_TYPE, 35 },
623089Swyllys OID_UserCertificate[] = { OID_ATTR_TYPE, 36 },
633089Swyllys OID_CACertificate[] = { OID_ATTR_TYPE, 37 },
643089Swyllys OID_AuthorityRevocationList[] = { OID_ATTR_TYPE, 38 },
653089Swyllys OID_CertificateRevocationList[] = { OID_ATTR_TYPE, 39 },
663089Swyllys OID_CrossCertificatePair[] = { OID_ATTR_TYPE, 40 },
673089Swyllys OID_Name[] = { OID_ATTR_TYPE, 41 },
683089Swyllys OID_GivenName[] = { OID_ATTR_TYPE, 42 },
693089Swyllys OID_Initials[] = { OID_ATTR_TYPE, 43 },
703089Swyllys OID_GenerationQualifier[] = { OID_ATTR_TYPE, 44 },
713089Swyllys OID_UniqueIdentifier[] = { OID_ATTR_TYPE, 45 },
723089Swyllys OID_DNQualifier[] = { OID_ATTR_TYPE, 46 },
733089Swyllys OID_EnhancedSearchGuide[] = { OID_ATTR_TYPE, 47 },
743089Swyllys OID_ProtocolInformation[] = { OID_ATTR_TYPE, 48 },
753089Swyllys OID_DistinguishedName[] = { OID_ATTR_TYPE, 49 },
763089Swyllys OID_UniqueMember[] = { OID_ATTR_TYPE, 50 },
773089Swyllys OID_HouseIdentifier[] = { OID_ATTR_TYPE, 51 }
783089Swyllys /* OID_SupportedAlgorithms[] = { OID_ATTR_TYPE, 52 }, */
793089Swyllys /* OID_DeltaRevocationList[] = { OID_ATTR_TYPE, 53 }, */
803089Swyllys /* OID_AttributeCertificate[] = { OID_ATTR_TYPE, 58 } */
813089Swyllys ;
823089Swyllys 
833089Swyllys /* From PKCS 9 */
843089Swyllys static uint8_t
853089Swyllys OID_EmailAddress[] = { OID_PKCS_9, 1 },
863089Swyllys OID_UnstructuredName[] = { OID_PKCS_9, 2 },
873089Swyllys OID_ContentType[] = { OID_PKCS_9, 3 },
883089Swyllys OID_MessageDigest[] = { OID_PKCS_9, 4 },
893089Swyllys OID_SigningTime[] = { OID_PKCS_9, 5 },
903089Swyllys OID_CounterSignature[] = { OID_PKCS_9, 6 },
913089Swyllys OID_ChallengePassword[] = { OID_PKCS_9, 7 },
923089Swyllys OID_UnstructuredAddress[] = { OID_PKCS_9, 8 },
933089Swyllys OID_ExtendedCertificateAttributes[] = { OID_PKCS_9, 9 },
943089Swyllys OID_ExtensionRequest[] = { OID_PKCS_9, 14 };
953089Swyllys 
963089Swyllys /* From PKIX 1 */
973089Swyllys /* Standard Extensions */
983089Swyllys static uint8_t
993089Swyllys OID_SubjectDirectoryAttributes[] = { OID_EXTENSION, 9 },
1003089Swyllys OID_SubjectKeyIdentifier[] = { OID_EXTENSION, 14 },
1013089Swyllys OID_KeyUsage[] = { OID_EXTENSION, 15 },
1023089Swyllys OID_PrivateKeyUsagePeriod[] = { OID_EXTENSION, 16 },
1033089Swyllys OID_SubjectAltName[] = { OID_EXTENSION, 17 },
1043089Swyllys OID_IssuerAltName[] = { OID_EXTENSION, 18 },
1053089Swyllys OID_BasicConstraints[] = { OID_EXTENSION, 19 },
1063089Swyllys OID_CrlNumber[] = { OID_EXTENSION, 20 },
1073089Swyllys OID_CrlReason[] = { OID_EXTENSION, 21 },
1083089Swyllys OID_HoldInstructionCode[] = { OID_EXTENSION, 23 },
1093089Swyllys OID_InvalidityDate[] = { OID_EXTENSION, 24 },
1103089Swyllys OID_DeltaCrlIndicator[] = { OID_EXTENSION, 27 },
1113089Swyllys OID_IssuingDistributionPoints[] = { OID_EXTENSION, 28 },
1123089Swyllys 
1133089Swyllys /* OID_CertificateIssuer[] = { OID_EXTENSION, 29 }, */
1143089Swyllys OID_NameConstraints[] = { OID_EXTENSION, 30 },
1153089Swyllys OID_CrlDistributionPoints[] = { OID_EXTENSION, 31 },
1163089Swyllys OID_CertificatePolicies[] = { OID_EXTENSION, 32 },
1173089Swyllys OID_PolicyMappings[] = { OID_EXTENSION, 33 },
1183089Swyllys /* 34 deprecated */
1193089Swyllys OID_AuthorityKeyIdentifier[] = { OID_EXTENSION, 35 },
1203089Swyllys OID_PolicyConstraints[] = { OID_EXTENSION, 36 },
1213089Swyllys OID_ExtKeyUsage[] = { OID_EXTENSION, 37 }
1223089Swyllys ;
1233089Swyllys 
1243089Swyllys /* PKIX-defined extended key purpose OIDs */
1253089Swyllys static uint8_t
1263089Swyllys OID_QT_CPSuri[]		 = { OID_PKIX_QT_CPS },
1273089Swyllys OID_QT_Unotice[]	 = { OID_PKIX_QT_UNOTICE },
1283089Swyllys 
1293089Swyllys OID_KP_ServerAuth[]	 = { OID_PKIX_KP, 1 },
1303089Swyllys OID_KP_ClientAuth[] = { OID_PKIX_KP, 2 },
1313089Swyllys OID_KP_CodeSigning[] = { OID_PKIX_KP, 3 },
1323089Swyllys OID_KP_EmailProtection[] = { OID_PKIX_KP, 4 },
1333089Swyllys OID_KP_IPSecEndSystem[] = { OID_PKIX_KP, 5 },
1343089Swyllys OID_KP_IPSecTunnel[] = { OID_PKIX_KP, 6 },
1353089Swyllys OID_KP_IPSecUser[] = { OID_PKIX_KP, 7 },
1363089Swyllys OID_KP_TimeStamping[] = { OID_PKIX_KP, 8 },
1373089Swyllys OID_KP_OCSPSigning[] = { OID_PKIX_KP, 9 }
1383089Swyllys ;
1393089Swyllys 
1403089Swyllys /* From PKIX 1 */
1413089Swyllys static uint8_t
1423089Swyllys OID_AuthorityInfoAccess[] = { OID_PKIX_PE, 1};
1433089Swyllys 
1443089Swyllys const KMF_OID
1453089Swyllys KMFOID_AuthorityInfoAccess = {OID_PKIX_LENGTH + 2, OID_AuthorityInfoAccess};
1463089Swyllys 
1473089Swyllys static uint8_t
1483089Swyllys OID_PkixAdOcsp[] = {OID_PKIX_AD, 1};
1493089Swyllys 
1503089Swyllys const KMF_OID
1513089Swyllys KMFOID_PkixAdOcsp = {OID_PKIX_AD_LENGTH + 1, OID_PkixAdOcsp};
1523089Swyllys 
1533089Swyllys static uint8_t
1543089Swyllys OID_PkixAdCaIssuers[] = {OID_PKIX_AD, 2};
1553089Swyllys 
1563089Swyllys const KMF_OID
1573089Swyllys KMFOID_PkixAdCaIssuers = {OID_PKIX_AD_LENGTH + 1, OID_PkixAdCaIssuers};
1583089Swyllys 
1593089Swyllys /*
1603089Swyllys  * From RFC 1274
1613089Swyllys  */
1623089Swyllys static uint8_t
1633089Swyllys OID_userid[] =		{OID_PILOT, 1},
1643089Swyllys OID_RFC822mailbox[] =	{OID_PILOT, 3},
1653089Swyllys OID_domainComponent[] =	{OID_PILOT, 25};
1663089Swyllys 
1673089Swyllys const KMF_OID
1683089Swyllys KMFOID_userid		= {OID_PILOT_LENGTH + 1, OID_userid},
1693089Swyllys KMFOID_RFC822mailbox	= {OID_PILOT_LENGTH + 1, OID_RFC822mailbox},
1703089Swyllys KMFOID_domainComponent	= {OID_PILOT_LENGTH + 1, OID_domainComponent},
1713089Swyllys KMFOID_ObjectClass = {OID_ATTR_TYPE_LENGTH+1, OID_ObjectClass},
1723089Swyllys KMFOID_AliasedEntryName = {OID_ATTR_TYPE_LENGTH+1, OID_AliasedEntryName},
1733089Swyllys KMFOID_KnowledgeInformation = {OID_ATTR_TYPE_LENGTH+1,
1743089Swyllys 	OID_KnowledgeInformation},
1753089Swyllys KMFOID_CommonName = {OID_ATTR_TYPE_LENGTH+1, OID_CommonName},
1763089Swyllys KMFOID_Surname = {OID_ATTR_TYPE_LENGTH+1, OID_Surname},
1773089Swyllys KMFOID_SerialNumber = {OID_ATTR_TYPE_LENGTH+1, OID_SerialNumber},
1783089Swyllys KMFOID_CountryName = {OID_ATTR_TYPE_LENGTH+1, OID_CountryName},
1793089Swyllys KMFOID_LocalityName = {OID_ATTR_TYPE_LENGTH+1, OID_LocalityName},
1803089Swyllys KMFOID_StateProvinceName = {OID_ATTR_TYPE_LENGTH+1, OID_StateProvinceName},
1813089Swyllys KMFOID_CollectiveStateProvinceName = {OID_ATTR_TYPE_LENGTH+2,
1823089Swyllys 	OID_CollectiveStateProvinceName},
1833089Swyllys KMFOID_StreetAddress = {OID_ATTR_TYPE_LENGTH+1, OID_StreetAddress},
1843089Swyllys KMFOID_CollectiveStreetAddress = {OID_ATTR_TYPE_LENGTH+2,
1853089Swyllys 	OID_CollectiveStreetAddress},
1863089Swyllys KMFOID_OrganizationName = {OID_ATTR_TYPE_LENGTH+1, OID_OrganizationName},
1873089Swyllys KMFOID_CollectiveOrganizationName = {OID_ATTR_TYPE_LENGTH+2,
1883089Swyllys 	OID_CollectiveOrganizationName},
1893089Swyllys KMFOID_OrganizationalUnitName = {OID_ATTR_TYPE_LENGTH+1,
1903089Swyllys 	OID_OrganizationalUnitName},
1913089Swyllys KMFOID_CollectiveOrganizationalUnitName = {OID_ATTR_TYPE_LENGTH+2,
1923089Swyllys 	OID_CollectiveOrganizationalUnitName},
1933089Swyllys KMFOID_Title = {OID_ATTR_TYPE_LENGTH+1, OID_Title},
1943089Swyllys KMFOID_Description = {OID_ATTR_TYPE_LENGTH+1, OID_Description},
1953089Swyllys KMFOID_SearchGuide = {OID_ATTR_TYPE_LENGTH+1, OID_SearchGuide},
1963089Swyllys KMFOID_BusinessCategory = {OID_ATTR_TYPE_LENGTH+1, OID_BusinessCategory},
1973089Swyllys KMFOID_PostalAddress = {OID_ATTR_TYPE_LENGTH+1, OID_PostalAddress},
1983089Swyllys KMFOID_CollectivePostalAddress = {OID_ATTR_TYPE_LENGTH+2,
1993089Swyllys 	OID_CollectivePostalAddress},
2003089Swyllys KMFOID_PostalCode = {OID_ATTR_TYPE_LENGTH+1, OID_PostalCode},
2013089Swyllys KMFOID_CollectivePostalCode = {OID_ATTR_TYPE_LENGTH+2,
2023089Swyllys 	OID_CollectivePostalCode},
2033089Swyllys KMFOID_PostOfficeBox = {OID_ATTR_TYPE_LENGTH+1, OID_PostOfficeBox},
2043089Swyllys KMFOID_CollectivePostOfficeBox = {OID_ATTR_TYPE_LENGTH+2,
2053089Swyllys 	OID_CollectivePostOfficeBox},
2063089Swyllys KMFOID_PhysicalDeliveryOfficeName = {OID_ATTR_TYPE_LENGTH+1,
2073089Swyllys 	OID_PhysicalDeliveryOfficeName},
2083089Swyllys KMFOID_CollectivePhysicalDeliveryOfficeName = {OID_ATTR_TYPE_LENGTH+2,
2093089Swyllys 	OID_CollectivePhysicalDeliveryOfficeName},
2103089Swyllys KMFOID_TelephoneNumber = {OID_ATTR_TYPE_LENGTH+1, OID_TelephoneNumber},
2113089Swyllys KMFOID_CollectiveTelephoneNumber = {OID_ATTR_TYPE_LENGTH+2,
2123089Swyllys 	OID_CollectiveTelephoneNumber},
2133089Swyllys KMFOID_TelexNumber = {OID_ATTR_TYPE_LENGTH+1, OID_TelexNumber},
2143089Swyllys KMFOID_CollectiveTelexNumber = {OID_ATTR_TYPE_LENGTH+2,
2153089Swyllys 	OID_CollectiveTelexNumber},
2163089Swyllys KMFOID_TelexTerminalIdentifier = {OID_ATTR_TYPE_LENGTH+1,
2173089Swyllys 	OID_TelexTerminalIdentifier},
2183089Swyllys KMFOID_CollectiveTelexTerminalIdentifier = {OID_ATTR_TYPE_LENGTH+2,
2193089Swyllys 	OID_CollectiveTelexTerminalIdentifier},
2203089Swyllys KMFOID_FacsimileTelephoneNumber = {OID_ATTR_TYPE_LENGTH+1,
2213089Swyllys 	OID_FacsimileTelephoneNumber},
2223089Swyllys KMFOID_CollectiveFacsimileTelephoneNumber = {OID_ATTR_TYPE_LENGTH+2,
2233089Swyllys 	OID_CollectiveFacsimileTelephoneNumber},
2243089Swyllys KMFOID_X_121Address = {OID_ATTR_TYPE_LENGTH+1, OID_X_121Address},
2253089Swyllys KMFOID_InternationalISDNNumber = {OID_ATTR_TYPE_LENGTH+1,
2263089Swyllys 	OID_InternationalISDNNumber},
2273089Swyllys KMFOID_CollectiveInternationalISDNNumber = {OID_ATTR_TYPE_LENGTH+2,
2283089Swyllys 	OID_CollectiveInternationalISDNNumber},
2293089Swyllys KMFOID_RegisteredAddress = {OID_ATTR_TYPE_LENGTH+1, OID_RegisteredAddress},
2303089Swyllys KMFOID_DestinationIndicator = {OID_ATTR_TYPE_LENGTH+1,
2313089Swyllys 	OID_DestinationIndicator},
2323089Swyllys KMFOID_PreferredDeliveryMethod = {OID_ATTR_TYPE_LENGTH+1,
2333089Swyllys 	OID_PreferredDeliveryMethod},
2343089Swyllys KMFOID_PresentationAddress = {OID_ATTR_TYPE_LENGTH+1,
2353089Swyllys 	OID_PresentationAddress},
2363089Swyllys KMFOID_SupportedApplicationContext = {OID_ATTR_TYPE_LENGTH+1,
2373089Swyllys 	OID_SupportedApplicationContext},
2383089Swyllys KMFOID_Member = {OID_ATTR_TYPE_LENGTH+1, OID_Member},
2393089Swyllys KMFOID_Owner = {OID_ATTR_TYPE_LENGTH+1, OID_Owner},
2403089Swyllys KMFOID_RoleOccupant = {OID_ATTR_TYPE_LENGTH+1, OID_RoleOccupant},
2413089Swyllys KMFOID_SeeAlso = {OID_ATTR_TYPE_LENGTH+1, OID_SeeAlso},
2423089Swyllys KMFOID_UserPassword = {OID_ATTR_TYPE_LENGTH+1, OID_UserPassword},
2433089Swyllys KMFOID_UserCertificate = {OID_ATTR_TYPE_LENGTH+1, OID_UserCertificate},
2443089Swyllys KMFOID_CACertificate = {OID_ATTR_TYPE_LENGTH+1, OID_CACertificate},
2453089Swyllys KMFOID_AuthorityRevocationList = {OID_ATTR_TYPE_LENGTH+1,
2463089Swyllys 	OID_AuthorityRevocationList},
2473089Swyllys KMFOID_CertificateRevocationList = {OID_ATTR_TYPE_LENGTH+1,
2483089Swyllys 	OID_CertificateRevocationList},
2493089Swyllys KMFOID_CrossCertificatePair = {OID_ATTR_TYPE_LENGTH+1,
2503089Swyllys 	OID_CrossCertificatePair},
2513089Swyllys KMFOID_Name = {OID_ATTR_TYPE_LENGTH+1, OID_Name},
2523089Swyllys KMFOID_GivenName = {OID_ATTR_TYPE_LENGTH+1, OID_GivenName},
2533089Swyllys KMFOID_Initials = {OID_ATTR_TYPE_LENGTH+1, OID_Initials},
2543089Swyllys KMFOID_GenerationQualifier = {OID_ATTR_TYPE_LENGTH+1, OID_GenerationQualifier},
2553089Swyllys KMFOID_UniqueIdentifier = {OID_ATTR_TYPE_LENGTH+1, OID_UniqueIdentifier},
2563089Swyllys KMFOID_DNQualifier = {OID_ATTR_TYPE_LENGTH+1, OID_DNQualifier},
2573089Swyllys KMFOID_EnhancedSearchGuide = {OID_ATTR_TYPE_LENGTH+1, OID_EnhancedSearchGuide},
2583089Swyllys KMFOID_ProtocolInformation = {OID_ATTR_TYPE_LENGTH+1, OID_ProtocolInformation},
2593089Swyllys KMFOID_DistinguishedName = {OID_ATTR_TYPE_LENGTH+1, OID_DistinguishedName},
2603089Swyllys KMFOID_UniqueMember = {OID_ATTR_TYPE_LENGTH+1, OID_UniqueMember},
2613089Swyllys KMFOID_HouseIdentifier = {OID_ATTR_TYPE_LENGTH+1, OID_HouseIdentifier},
2623089Swyllys KMFOID_EmailAddress = {OID_PKCS_9_LENGTH+1, OID_EmailAddress},
2633089Swyllys KMFOID_UnstructuredName = {OID_PKCS_9_LENGTH+1, OID_UnstructuredName},
2643089Swyllys KMFOID_ContentType = {OID_PKCS_9_LENGTH+1, OID_ContentType},
2653089Swyllys KMFOID_MessageDigest = {OID_PKCS_9_LENGTH+1, OID_MessageDigest},
2663089Swyllys KMFOID_SigningTime = {OID_PKCS_9_LENGTH+1, OID_SigningTime},
2673089Swyllys KMFOID_CounterSignature = {OID_PKCS_9_LENGTH+1, OID_CounterSignature},
2683089Swyllys KMFOID_ChallengePassword = {OID_PKCS_9_LENGTH+1, OID_ChallengePassword},
2693089Swyllys KMFOID_UnstructuredAddress = {OID_PKCS_9_LENGTH+1, OID_UnstructuredAddress},
2703089Swyllys KMFOID_ExtendedCertificateAttributes = {OID_PKCS_9_LENGTH+1,
2713089Swyllys 	OID_ExtendedCertificateAttributes},
2723089Swyllys KMFOID_ExtensionRequest = {OID_PKCS_9_LENGTH + 1, OID_ExtensionRequest};
2733089Swyllys 
2743089Swyllys static uint8_t
2753089Swyllys OID_AuthorityKeyID[] = { OID_EXTENSION, 1 },
2763089Swyllys OID_VerisignCertificatePolicy[] = { OID_EXTENSION, 3 },
2773089Swyllys OID_KeyUsageRestriction[] = { OID_EXTENSION, 4 };
2783089Swyllys 
2793089Swyllys const KMF_OID
2803089Swyllys KMFOID_AuthorityKeyID		 = {OID_EXTENSION_LENGTH+1, OID_AuthorityKeyID},
2813089Swyllys 
2823089Swyllys KMFOID_VerisignCertificatePolicy = {OID_EXTENSION_LENGTH+1,
2833089Swyllys 	OID_VerisignCertificatePolicy},
2843089Swyllys 
2853089Swyllys KMFOID_KeyUsageRestriction	 = {OID_EXTENSION_LENGTH+1,
2863089Swyllys 	OID_KeyUsageRestriction},
2873089Swyllys 
2883089Swyllys KMFOID_SubjectDirectoryAttributes = {OID_EXTENSION_LENGTH+1,
2893089Swyllys 	OID_SubjectDirectoryAttributes},
2903089Swyllys 
2913089Swyllys KMFOID_SubjectKeyIdentifier	 = {OID_EXTENSION_LENGTH+1,
2923089Swyllys 	OID_SubjectKeyIdentifier },
2933089Swyllys KMFOID_KeyUsage		 = {OID_EXTENSION_LENGTH+1, OID_KeyUsage },
2943089Swyllys 
2953089Swyllys KMFOID_PrivateKeyUsagePeriod	 = {OID_EXTENSION_LENGTH+1,
2963089Swyllys 	OID_PrivateKeyUsagePeriod},
2973089Swyllys KMFOID_SubjectAltName	 = {OID_EXTENSION_LENGTH+1, OID_SubjectAltName },
2983089Swyllys KMFOID_IssuerAltName	 = {OID_EXTENSION_LENGTH+1, OID_IssuerAltName },
2993089Swyllys KMFOID_BasicConstraints	 = {OID_EXTENSION_LENGTH+1, OID_BasicConstraints },
3003089Swyllys 
3013089Swyllys KMFOID_CrlNumber	 = {OID_EXTENSION_LENGTH+1, OID_CrlNumber},
3023089Swyllys 
3033089Swyllys KMFOID_CrlReason	 = {OID_EXTENSION_LENGTH+1, OID_CrlReason},
3043089Swyllys 
3053089Swyllys KMFOID_HoldInstructionCode = {OID_EXTENSION_LENGTH+1, OID_HoldInstructionCode},
3063089Swyllys 
3073089Swyllys KMFOID_InvalidityDate	 = {OID_EXTENSION_LENGTH+1, OID_InvalidityDate},
3083089Swyllys 
3093089Swyllys KMFOID_DeltaCrlIndicator = {OID_EXTENSION_LENGTH+1, OID_DeltaCrlIndicator},
3103089Swyllys 
3113089Swyllys KMFOID_IssuingDistributionPoints = {OID_EXTENSION_LENGTH+1,
3123089Swyllys 	OID_IssuingDistributionPoints},
3133089Swyllys 
3143089Swyllys KMFOID_NameConstraints	 = {OID_EXTENSION_LENGTH+1,
3153089Swyllys 	OID_NameConstraints},
3163089Swyllys 
3173089Swyllys KMFOID_CrlDistributionPoints = {OID_EXTENSION_LENGTH+1,
3183089Swyllys 	OID_CrlDistributionPoints},
3193089Swyllys 
3203089Swyllys KMFOID_CertificatePolicies = {OID_EXTENSION_LENGTH+1,
3213089Swyllys 	OID_CertificatePolicies},
3223089Swyllys 
3233089Swyllys KMFOID_PolicyMappings	 = {OID_EXTENSION_LENGTH+1, OID_PolicyMappings},
3243089Swyllys 
3253089Swyllys KMFOID_PolicyConstraints = {OID_EXTENSION_LENGTH+1, OID_PolicyConstraints},
3263089Swyllys 
3273089Swyllys KMFOID_AuthorityKeyIdentifier = {OID_EXTENSION_LENGTH+1,
3283089Swyllys 	OID_AuthorityKeyIdentifier},
3293089Swyllys 
3303089Swyllys KMFOID_ExtendedKeyUsage	 = {OID_EXTENSION_LENGTH+1, OID_ExtKeyUsage},
3313089Swyllys 
3323089Swyllys KMFOID_PKIX_PQ_CPSuri	 = {OID_PKIX_QT_CPS_LENGTH, 	OID_QT_CPSuri},
3333089Swyllys 
3343089Swyllys KMFOID_PKIX_PQ_Unotice	 = {OID_PKIX_QT_UNOTICE_LENGTH,	OID_QT_Unotice},
3353089Swyllys 
3363089Swyllys /* Extended Key Usage OIDs */
3373089Swyllys KMFOID_PKIX_KP_ServerAuth = {OID_PKIX_KP_LENGTH + 1, OID_KP_ServerAuth},
3383089Swyllys 
3393089Swyllys KMFOID_PKIX_KP_ClientAuth = {OID_PKIX_KP_LENGTH + 1, OID_KP_ClientAuth},
3403089Swyllys 
3413089Swyllys KMFOID_PKIX_KP_CodeSigning = {OID_PKIX_KP_LENGTH + 1, OID_KP_CodeSigning},
3423089Swyllys 
3433089Swyllys KMFOID_PKIX_KP_EmailProtection	 = {OID_PKIX_KP_LENGTH + 1,
3443089Swyllys 	OID_KP_EmailProtection},
3453089Swyllys 
3463089Swyllys KMFOID_PKIX_KP_IPSecEndSystem = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecEndSystem},
3473089Swyllys 
3483089Swyllys KMFOID_PKIX_KP_IPSecTunnel = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecTunnel},
3493089Swyllys 
3503089Swyllys KMFOID_PKIX_KP_IPSecUser = {OID_PKIX_KP_LENGTH + 1, OID_KP_IPSecUser},
3513089Swyllys 
3523089Swyllys KMFOID_PKIX_KP_TimeStamping = {OID_PKIX_KP_LENGTH + 1, OID_KP_TimeStamping},
3533089Swyllys 
3543089Swyllys KMFOID_PKIX_KP_OCSPSigning = {OID_PKIX_KP_LENGTH + 1, OID_KP_OCSPSigning};
3553754Swyllys 
3563754Swyllys static uint8_t
3573754Swyllys OID_OIW_SHA1[] = { OID_OIW_ALGORITHM, 26},
3583754Swyllys OID_OIW_DSA[] = { OID_OIW_ALGORITHM, 12  },
3596669Swyllys OID_OIW_DSAWithSHA1[] = { OID_OIW_ALGORITHM, 13 },
3603754Swyllys OID_RSAEncryption[] = { OID_PKCS_1, 1 },
3613754Swyllys OID_MD2WithRSA[]   = { OID_PKCS_1, 2 },
3623754Swyllys OID_MD5WithRSA[]   = { OID_PKCS_1, 4 },
3633754Swyllys OID_SHA1WithRSA[]  = { OID_PKCS_1, 5 },
364*11973Swyllys.ingersoll@sun.com OID_SHA256WithRSA[]  = { OID_PKCS_1, 11 },
365*11973Swyllys.ingersoll@sun.com OID_SHA384WithRSA[]  = { OID_PKCS_1, 12 },
366*11973Swyllys.ingersoll@sun.com OID_SHA512WithRSA[]  = { OID_PKCS_1, 13 },
3673754Swyllys OID_X9CM_DSA[] = { OID_X9CM_X9ALGORITHM, 1 },
3683754Swyllys OID_X9CM_DSAWithSHA1[] = { OID_X9CM_X9ALGORITHM, 3};
3693754Swyllys 
3703754Swyllys const KMF_OID
3713754Swyllys KMFOID_SHA1 = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_SHA1},
3723754Swyllys KMFOID_RSA = {OID_PKCS_1_LENGTH+1, OID_RSAEncryption},
3733754Swyllys KMFOID_DSA = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_DSA},
3743754Swyllys KMFOID_MD5WithRSA = {OID_PKCS_1_LENGTH+1, OID_MD5WithRSA},
3753754Swyllys KMFOID_MD2WithRSA = {OID_PKCS_1_LENGTH+1, OID_MD2WithRSA},
3763754Swyllys KMFOID_SHA1WithRSA = {OID_PKCS_1_LENGTH+1, OID_SHA1WithRSA},
377*11973Swyllys.ingersoll@sun.com KMFOID_SHA256WithRSA = {OID_PKCS_1_LENGTH+1, OID_SHA256WithRSA},
378*11973Swyllys.ingersoll@sun.com KMFOID_SHA384WithRSA = {OID_PKCS_1_LENGTH+1, OID_SHA384WithRSA},
379*11973Swyllys.ingersoll@sun.com KMFOID_SHA512WithRSA = {OID_PKCS_1_LENGTH+1, OID_SHA512WithRSA},
380*11973Swyllys.ingersoll@sun.com KMFOID_SHA1WithDSA  = {OID_OIW_ALGORITHM_LENGTH+1, OID_OIW_DSAWithSHA1},
3813754Swyllys KMFOID_X9CM_DSA = {OID_X9CM_X9ALGORITHM_LENGTH+1, OID_X9CM_DSA},
3823754Swyllys KMFOID_X9CM_DSAWithSHA1 = {OID_X9CM_X9ALGORITHM_LENGTH+1,
3833754Swyllys 		OID_X9CM_DSAWithSHA1};
3846051Swyllys 
3856051Swyllys /*
3866051Swyllys  * New for PKINIT support.
3876051Swyllys  */
3886051Swyllys static uint8_t
3896051Swyllys OID_pkinit_san[] = { OID_KRB5_SAN },
3906051Swyllys OID_pkinit_san_upn[] = { OID_MS_KP_SC_LOGON_UPN },
3916051Swyllys OID_pkinit_kp_clientauth[] = { OID_KRB5_PKINIT_KPCLIENTAUTH },
3926051Swyllys OID_pkinit_kp_kdc[] = { OID_KRB5_PKINIT_KPKDC },
3936051Swyllys OID_pkinit_kp_sc_logon[] = { OID_MS_KP_SC_LOGON };
3946051Swyllys 
3956051Swyllys const KMF_OID
3966051Swyllys KMFOID_PKINIT_san = {OID_KRB5_SAN_LENGTH, OID_pkinit_san },
3976051Swyllys KMFOID_PKINIT_ClientAuth = {OID_KRB5_PKINIT_KPCLIENTAUTH_LENGTH,
3986051Swyllys     OID_pkinit_kp_clientauth},
3996051Swyllys KMFOID_PKINIT_Kdc = {OID_KRB5_PKINIT_KPKDC_LENGTH,
4006051Swyllys     OID_pkinit_kp_kdc},
4016051Swyllys KMFOID_MS_KP_SCLogon = {OID_MS_KP_SC_LOGON_LENGTH,
4026051Swyllys     OID_pkinit_kp_sc_logon},
4036051Swyllys KMFOID_MS_KP_SCLogon_UPN = {OID_MS_KP_SC_LOGON_UPN_LENGTH,
4046051Swyllys     OID_pkinit_san_upn};
405*11973Swyllys.ingersoll@sun.com 
406*11973Swyllys.ingersoll@sun.com /*
407*11973Swyllys.ingersoll@sun.com  * MD5
408*11973Swyllys.ingersoll@sun.com  * iso(1) member-body(2) us(840) rsadsi(113549)
409*11973Swyllys.ingersoll@sun.com  * digestAlgorithm(2) 5
410*11973Swyllys.ingersoll@sun.com  */
411*11973Swyllys.ingersoll@sun.com #define	RSADSI 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d
412*11973Swyllys.ingersoll@sun.com #define	OID_id_md5	RSADSI, 0x02, 0x05
413*11973Swyllys.ingersoll@sun.com 
414*11973Swyllys.ingersoll@sun.com /*
415*11973Swyllys.ingersoll@sun.com  * SHA2 OIDs
416*11973Swyllys.ingersoll@sun.com  */
417*11973Swyllys.ingersoll@sun.com #define	NIST_ALG 96, 134, 72, 1, 101, 3, 4
418*11973Swyllys.ingersoll@sun.com #define	NIST_HASH NIST_ALG, 2
419*11973Swyllys.ingersoll@sun.com #define	OID_id_sha256 NIST_HASH, 1
420*11973Swyllys.ingersoll@sun.com #define	OID_id_sha384 NIST_HASH, 2
421*11973Swyllys.ingersoll@sun.com #define	OID_id_sha512 NIST_HASH, 3
422*11973Swyllys.ingersoll@sun.com #define	OID_id_sha224 NIST_HASH, 4
423*11973Swyllys.ingersoll@sun.com 
424*11973Swyllys.ingersoll@sun.com #define	OID_id_dsa_with_sha224	NIST_ALG, 3, 1
425*11973Swyllys.ingersoll@sun.com #define	OID_id_dsa_with_sha256	NIST_ALG, 3, 2
426*11973Swyllys.ingersoll@sun.com 
427*11973Swyllys.ingersoll@sun.com /*
428*11973Swyllys.ingersoll@sun.com  * For ECC support.
429*11973Swyllys.ingersoll@sun.com  */
430*11973Swyllys.ingersoll@sun.com #define	CERTICOM_OID	0x2b, 0x81, 0x04
431*11973Swyllys.ingersoll@sun.com #define	SECG_OID	CERTICOM_OID, 0x00
432*11973Swyllys.ingersoll@sun.com 
433*11973Swyllys.ingersoll@sun.com #define	ANSI_X962_OID		0x2a, 0x86, 0x48, 0xce, 0x3d
434*11973Swyllys.ingersoll@sun.com #define	ANSI_X962_CURVE_OID	ANSI_X962_OID, 0x03
435*11973Swyllys.ingersoll@sun.com #define	ANSI_X962_GF2m_OID	ANSI_X962_CURVE_OID, 0x00
436*11973Swyllys.ingersoll@sun.com #define	ANSI_X962_GFp_OID	ANSI_X962_CURVE_OID, 0x01
437*11973Swyllys.ingersoll@sun.com 
438*11973Swyllys.ingersoll@sun.com #define	ANSI_X962_SIG_OID	ANSI_X962_OID, 0x04
439*11973Swyllys.ingersoll@sun.com #define	OID_ecdsa_with_sha224	ANSI_X962_SIG_OID, 3, 1
440*11973Swyllys.ingersoll@sun.com #define	OID_ecdsa_with_sha256	ANSI_X962_SIG_OID, 3, 2
441*11973Swyllys.ingersoll@sun.com #define	OID_ecdsa_with_sha384	ANSI_X962_SIG_OID, 3, 3
442*11973Swyllys.ingersoll@sun.com #define	OID_ecdsa_with_sha512	ANSI_X962_SIG_OID, 3, 4
443*11973Swyllys.ingersoll@sun.com 
444*11973Swyllys.ingersoll@sun.com static uint8_t
445*11973Swyllys.ingersoll@sun.com OID_secp112r1[] = { 0x6, 0x5, SECG_OID, 0x06 },
446*11973Swyllys.ingersoll@sun.com OID_secp112r2[] = { 0x6, 0x5, SECG_OID, 0x07 },
447*11973Swyllys.ingersoll@sun.com OID_secp128r1[] = { 0x6, 0x5, SECG_OID, 0x1c },
448*11973Swyllys.ingersoll@sun.com OID_secp128r2[] = { 0x6, 0x5, SECG_OID, 0x1d },
449*11973Swyllys.ingersoll@sun.com OID_secp160k1[] = { 0x6, 0x5, SECG_OID, 0x09 },
450*11973Swyllys.ingersoll@sun.com OID_secp160r1[] = { 0x6, 0x5, SECG_OID, 0x08 },
451*11973Swyllys.ingersoll@sun.com OID_secp160r2[] = { 0x6, 0x5, SECG_OID, 0x1e },
452*11973Swyllys.ingersoll@sun.com OID_secp192k1[] = { 0x6, 0x5, SECG_OID, 0x1f },
453*11973Swyllys.ingersoll@sun.com OID_secp224k1[] = { 0x6, 0x5, SECG_OID, 0x20 },
454*11973Swyllys.ingersoll@sun.com OID_secp224r1[] = { 0x6, 0x5, SECG_OID, 0x21 },
455*11973Swyllys.ingersoll@sun.com OID_secp256k1[] = { 0x6, 0x5, SECG_OID, 0x0a },
456*11973Swyllys.ingersoll@sun.com OID_secp384r1[] = { 0x6, 0x5, SECG_OID, 0x22 },
457*11973Swyllys.ingersoll@sun.com OID_secp521r1[] = { 0x6, 0x5, SECG_OID, 0x23 },
458*11973Swyllys.ingersoll@sun.com OID_sect113r1[] = { 0x6, 0x5, SECG_OID, 0x04 },
459*11973Swyllys.ingersoll@sun.com OID_sect113r2[] = { 0x6, 0x5, SECG_OID, 0x05 },
460*11973Swyllys.ingersoll@sun.com OID_sect131r1[] = { 0x6, 0x5, SECG_OID, 0x16 },
461*11973Swyllys.ingersoll@sun.com OID_sect131r2[] = { 0x6, 0x5, SECG_OID, 0x17 },
462*11973Swyllys.ingersoll@sun.com OID_sect163k1[] = { 0x6, 0x5, SECG_OID, 0x01 },
463*11973Swyllys.ingersoll@sun.com OID_sect163r1[] = { 0x6, 0x5, SECG_OID, 0x02 },
464*11973Swyllys.ingersoll@sun.com OID_sect163r2[] = { 0x6, 0x5, SECG_OID, 0x0f },
465*11973Swyllys.ingersoll@sun.com OID_sect193r1[] = { 0x6, 0x5, SECG_OID, 0x18 },
466*11973Swyllys.ingersoll@sun.com OID_sect193r2[] = { 0x6, 0x5, SECG_OID, 0x19 },
467*11973Swyllys.ingersoll@sun.com OID_sect233k1[] = { 0x6, 0x5, SECG_OID, 0x1a },
468*11973Swyllys.ingersoll@sun.com OID_sect233r1[] = { 0x6, 0x5, SECG_OID, 0x1b },
469*11973Swyllys.ingersoll@sun.com OID_sect239k1[] = { 0x6, 0x5, SECG_OID, 0x03 },
470*11973Swyllys.ingersoll@sun.com OID_sect283k1[] = { 0x6, 0x5, SECG_OID, 0x10 },
471*11973Swyllys.ingersoll@sun.com OID_sect283r1[] = { 0x6, 0x5, SECG_OID, 0x11 },
472*11973Swyllys.ingersoll@sun.com OID_sect409k1[] = { 0x6, 0x5, SECG_OID, 0x24 },
473*11973Swyllys.ingersoll@sun.com OID_sect409r1[] = { 0x6, 0x5, SECG_OID, 0x25 },
474*11973Swyllys.ingersoll@sun.com OID_sect571k1[] = { 0x6, 0x5, SECG_OID, 0x26 },
475*11973Swyllys.ingersoll@sun.com OID_sect571r1[] = { 0x6, 0x5, SECG_OID, 0x27 },
476*11973Swyllys.ingersoll@sun.com OID_c2pnb163v1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x01 },
477*11973Swyllys.ingersoll@sun.com OID_c2pnb163v2[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x02 },
478*11973Swyllys.ingersoll@sun.com OID_c2pnb163v3[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x03 },
479*11973Swyllys.ingersoll@sun.com OID_c2pnb176v1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x04 },
480*11973Swyllys.ingersoll@sun.com OID_c2tnb191v1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x05 },
481*11973Swyllys.ingersoll@sun.com OID_c2tnb191v2[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x06 },
482*11973Swyllys.ingersoll@sun.com OID_c2tnb191v3[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x07 },
483*11973Swyllys.ingersoll@sun.com OID_c2pnb208w1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x0a },
484*11973Swyllys.ingersoll@sun.com OID_c2tnb239v1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x0b },
485*11973Swyllys.ingersoll@sun.com OID_c2tnb239v2[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x0c },
486*11973Swyllys.ingersoll@sun.com OID_c2tnb239v3[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x0d },
487*11973Swyllys.ingersoll@sun.com OID_c2pnb272w1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x10 },
488*11973Swyllys.ingersoll@sun.com OID_c2pnb304w1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x11 },
489*11973Swyllys.ingersoll@sun.com OID_c2tnb359v1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x12 },
490*11973Swyllys.ingersoll@sun.com OID_c2pnb368w1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x13 },
491*11973Swyllys.ingersoll@sun.com OID_c2tnb431r1[] = { 0x6, 0x8, ANSI_X962_GF2m_OID, 0x14 },
492*11973Swyllys.ingersoll@sun.com 
493*11973Swyllys.ingersoll@sun.com OID_prime192v2[] = { 0x6, 0x8, ANSI_X962_GFp_OID, 0x02 },
494*11973Swyllys.ingersoll@sun.com OID_prime192v3[] = { 0x6, 0x8, ANSI_X962_GFp_OID, 0x03 },
495*11973Swyllys.ingersoll@sun.com 
496*11973Swyllys.ingersoll@sun.com OID_secp192r1[] = { 0x6, 0x8, ANSI_X962_GFp_OID, 0x01 },
497*11973Swyllys.ingersoll@sun.com OID_secp256r1[] = { 0x6, 0x8, ANSI_X962_GFp_OID, 0x07 };
498*11973Swyllys.ingersoll@sun.com 
499*11973Swyllys.ingersoll@sun.com const KMF_OID
500*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp112r1 = {sizeof (OID_secp112r1), OID_secp112r1},
501*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp112r2 = {sizeof (OID_secp112r2), OID_secp112r2},
502*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp128r1 = {sizeof (OID_secp128r1), OID_secp128r1},
503*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp128r2 = {sizeof (OID_secp128r2), OID_secp128r2},
504*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp160k1 = {sizeof (OID_secp160k1), OID_secp160k1},
505*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp160r1 = {sizeof (OID_secp160r1), OID_secp160r1},
506*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp160r2 = {sizeof (OID_secp160r2), OID_secp160r2},
507*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp192k1 = {sizeof (OID_secp192k1), OID_secp192k1},
508*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp224k1 = {sizeof (OID_secp224k1), OID_secp224k1},
509*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp224r1 = {sizeof (OID_secp224r1), OID_secp224r1},
510*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp256k1 = {sizeof (OID_secp256k1), OID_secp256k1},
511*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp384r1 = {sizeof (OID_secp384r1), OID_secp384r1},
512*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp521r1 = {sizeof (OID_secp521r1), OID_secp521r1},
513*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect113r1 = {sizeof (OID_sect113r1), OID_sect113r1},
514*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect113r2 = {sizeof (OID_sect113r2), OID_sect113r2},
515*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect131r1 = {sizeof (OID_sect131r1), OID_sect131r1},
516*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect131r2 = {sizeof (OID_sect131r2), OID_sect131r2},
517*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect163k1 = {sizeof (OID_sect163k1), OID_sect163k1},
518*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect163r1 = {sizeof (OID_sect163r1), OID_sect163r1},
519*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect163r2 = {sizeof (OID_sect163r2), OID_sect163r2},
520*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect193r1 = {sizeof (OID_sect193r1), OID_sect193r1},
521*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect193r2 = {sizeof (OID_sect193r2), OID_sect193r2},
522*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect233k1 = {sizeof (OID_sect233k1), OID_sect233k1},
523*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect233r1 = {sizeof (OID_sect233r1), OID_sect233r1},
524*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect239k1 = {sizeof (OID_sect239k1), OID_sect239k1},
525*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect283k1 = {sizeof (OID_sect283k1), OID_sect283k1},
526*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect283r1 = {sizeof (OID_sect283r1), OID_sect283r1},
527*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect409k1 = {sizeof (OID_sect409k1), OID_sect409k1},
528*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect409r1 = {sizeof (OID_sect409r1), OID_sect409r1},
529*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect571k1 = {sizeof (OID_sect571k1), OID_sect571k1},
530*11973Swyllys.ingersoll@sun.com KMFOID_ECC_sect571r1 = {sizeof (OID_sect571r1), OID_sect571r1},
531*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb163v1 = {sizeof (OID_c2pnb163v1), OID_c2pnb163v1},
532*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb163v2 = {sizeof (OID_c2pnb163v2), OID_c2pnb163v2},
533*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb163v3 = {sizeof (OID_c2pnb163v3), OID_c2pnb163v3},
534*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb176v1 = {sizeof (OID_c2pnb176v1), OID_c2pnb176v1},
535*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb191v1 = {sizeof (OID_c2tnb191v1), OID_c2tnb191v1},
536*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb191v2 = {sizeof (OID_c2tnb191v2), OID_c2tnb191v2},
537*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb191v3 = {sizeof (OID_c2tnb191v3), OID_c2tnb191v3},
538*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb208w1 = {sizeof (OID_c2pnb208w1), OID_c2pnb208w1},
539*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb239v1 = {sizeof (OID_c2tnb239v1), OID_c2tnb239v1},
540*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb239v2 = {sizeof (OID_c2tnb239v2), OID_c2tnb239v2},
541*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb239v3 = {sizeof (OID_c2tnb239v3), OID_c2tnb239v3},
542*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb272w1 = {sizeof (OID_c2pnb272w1), OID_c2pnb272w1},
543*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb304w1 = {sizeof (OID_c2pnb304w1), OID_c2pnb304w1},
544*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb359v1 = {sizeof (OID_c2tnb359v1), OID_c2tnb359v1},
545*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2pnb368w1 = {sizeof (OID_c2pnb368w1), OID_c2pnb368w1},
546*11973Swyllys.ingersoll@sun.com KMFOID_ECC_c2tnb431r1 = {sizeof (OID_c2tnb431r1), OID_c2tnb431r1},
547*11973Swyllys.ingersoll@sun.com KMFOID_ECC_prime192v2 = {sizeof (OID_prime192v2), OID_prime192v2},
548*11973Swyllys.ingersoll@sun.com KMFOID_ECC_prime192v3 = {sizeof (OID_prime192v3), OID_prime192v3},
549*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp192r1 = {sizeof (OID_secp192r1), OID_secp192r1},
550*11973Swyllys.ingersoll@sun.com KMFOID_ECC_secp256r1 = {sizeof (OID_secp256r1), OID_secp256r1};
551*11973Swyllys.ingersoll@sun.com 
552*11973Swyllys.ingersoll@sun.com static uint8_t
553*11973Swyllys.ingersoll@sun.com OID_EC_PUBLIC_KEY[] = {ANSI_X962_OID, 0x02, 0x01},
554*11973Swyllys.ingersoll@sun.com OID_ECDSA_SHA1[] = {ANSI_X962_OID, 0x04, 0x01},
555*11973Swyllys.ingersoll@sun.com OID_ECDSA_SHA224[] = {ANSI_X962_OID, 0x04, 0x03, 0x01},
556*11973Swyllys.ingersoll@sun.com OID_ECDSA_SHA256[] = {ANSI_X962_OID, 0x04, 0x03, 0x02},
557*11973Swyllys.ingersoll@sun.com OID_ECDSA_SHA384[] = {ANSI_X962_OID, 0x04, 0x03, 0x03},
558*11973Swyllys.ingersoll@sun.com OID_ECDSA_SHA512[] = {ANSI_X962_OID, 0x04, 0x03, 0x04},
559*11973Swyllys.ingersoll@sun.com OID_DSA_SHA224[] = {OID_id_dsa_with_sha224},
560*11973Swyllys.ingersoll@sun.com OID_DSA_SHA256[] = {OID_id_dsa_with_sha256},
561*11973Swyllys.ingersoll@sun.com OID_SHA224[] = {OID_id_sha224},
562*11973Swyllys.ingersoll@sun.com OID_SHA256[] = {OID_id_sha256},
563*11973Swyllys.ingersoll@sun.com OID_SHA384[] = {OID_id_sha384},
564*11973Swyllys.ingersoll@sun.com OID_SHA512[] = {OID_id_sha512},
565*11973Swyllys.ingersoll@sun.com OID_MD5[] = {OID_id_md5};
566*11973Swyllys.ingersoll@sun.com 
567*11973Swyllys.ingersoll@sun.com const KMF_OID
568*11973Swyllys.ingersoll@sun.com KMFOID_EC_PUBLIC_KEY = { sizeof (OID_EC_PUBLIC_KEY), OID_EC_PUBLIC_KEY},
569*11973Swyllys.ingersoll@sun.com KMFOID_SHA1WithECDSA = { sizeof (OID_ECDSA_SHA1), OID_ECDSA_SHA1},
570*11973Swyllys.ingersoll@sun.com KMFOID_SHA224WithECDSA = { sizeof (OID_ECDSA_SHA224), OID_ECDSA_SHA224},
571*11973Swyllys.ingersoll@sun.com KMFOID_SHA256WithECDSA = { sizeof (OID_ECDSA_SHA256), OID_ECDSA_SHA256},
572*11973Swyllys.ingersoll@sun.com KMFOID_SHA384WithECDSA = { sizeof (OID_ECDSA_SHA384), OID_ECDSA_SHA384},
573*11973Swyllys.ingersoll@sun.com KMFOID_SHA512WithECDSA = { sizeof (OID_ECDSA_SHA512), OID_ECDSA_SHA512},
574*11973Swyllys.ingersoll@sun.com KMFOID_SHA224WithDSA = { sizeof (OID_DSA_SHA224), OID_DSA_SHA224},
575*11973Swyllys.ingersoll@sun.com KMFOID_SHA256WithDSA = { sizeof (OID_DSA_SHA256), OID_DSA_SHA256},
576*11973Swyllys.ingersoll@sun.com KMFOID_SHA224 = { sizeof (OID_SHA224), OID_SHA224},
577*11973Swyllys.ingersoll@sun.com KMFOID_SHA256 = { sizeof (OID_SHA256), OID_SHA256},
578*11973Swyllys.ingersoll@sun.com KMFOID_SHA384 = { sizeof (OID_SHA384), OID_SHA384},
579*11973Swyllys.ingersoll@sun.com KMFOID_SHA512 = { sizeof (OID_SHA512), OID_SHA512},
580*11973Swyllys.ingersoll@sun.com KMFOID_MD5 = { sizeof (OID_MD5), OID_MD5};
581