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