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