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