X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/5dd5f9ec28f304ca377c42fd7f711d6cf12b90e1..5c19dc3ae3bd8e40a9c028b0deddd50ff337692c:/Security/libsecurity_asn1/lib/oidsattr.c diff --git a/Security/libsecurity_asn1/lib/oidsattr.c b/Security/libsecurity_asn1/lib/oidsattr.c deleted file mode 100644 index be1625d6..00000000 --- a/Security/libsecurity_asn1/lib/oidsattr.c +++ /dev/null @@ -1,506 +0,0 @@ -/* - * Copyright (c) 2000-2001,2003-2004,2008,2010,2012,2014 Apple Inc. All Rights Reserved. - * - * @APPLE_LICENSE_HEADER_START@ - * - * This file contains Original Code and/or Modifications of Original Code - * as defined in and that are subject to the Apple Public Source License - * Version 2.0 (the 'License'). You may not use this file except in - * compliance with the License. Please obtain a copy of the License at - * http://www.opensource.apple.com/apsl/ and read it before using this - * file. - * - * The Original Code and all software distributed under the License are - * distributed on an 'AS IS' basis, WITHOUT WARRANTY OF ANY KIND, EITHER - * EXPRESS OR IMPLIED, AND APPLE HEREBY DISCLAIMS ALL SUCH WARRANTIES, - * INCLUDING WITHOUT LIMITATION, ANY WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE, QUIET ENJOYMENT OR NON-INFRINGEMENT. - * Please see the License for the specific language governing rights and - * limitations under the License. - * - * @APPLE_LICENSE_HEADER_END@ - */ - - -/* - * oidsattr.c - Cert/CRL related OIDs. - */ - -#include -#include - - -/* - * Directory name component identifiers. - */ -static const uint8_t - OID_ObjectClass[] = { OID_ATTR_TYPE, 0 }, - OID_AliasedEntryName[] = { OID_ATTR_TYPE, 1 }, - OID_KnowledgeInformation[] = { OID_ATTR_TYPE, 2 }, - OID_CommonName[] = { OID_ATTR_TYPE, 3 }, - OID_Surname[] = { OID_ATTR_TYPE, 4 }, - OID_SerialNumber[] = { OID_ATTR_TYPE, 5 }, - OID_CountryName[] = { OID_ATTR_TYPE, 6 }, - OID_LocalityName[] = { OID_ATTR_TYPE, 7 }, - OID_StateProvinceName[] = { OID_ATTR_TYPE, 8 }, - OID_CollectiveStateProvinceName[] = { OID_ATTR_TYPE, 8, 1 }, - OID_StreetAddress[] = { OID_ATTR_TYPE, 9 }, - OID_CollectiveStreetAddress[] = { OID_ATTR_TYPE, 9, 1 }, - OID_OrganizationName[] = { OID_ATTR_TYPE, 10 }, - OID_CollectiveOrganizationName[] = { OID_ATTR_TYPE, 10, 1 }, - OID_OrganizationalUnitName[] = { OID_ATTR_TYPE, 11 }, - OID_CollectiveOrganizationalUnitName[] - = { OID_ATTR_TYPE, 11, 1 }, - OID_Title[] = { OID_ATTR_TYPE, 12 }, - OID_Description[] = { OID_ATTR_TYPE, 13 }, - OID_SearchGuide[] = { OID_ATTR_TYPE, 14 }, - OID_BusinessCategory[] = { OID_ATTR_TYPE, 15 }, - OID_PostalAddress[] = { OID_ATTR_TYPE, 16 }, - OID_CollectivePostalAddress[] = { OID_ATTR_TYPE, 16, 1 }, - OID_PostalCode[] = { OID_ATTR_TYPE, 17 }, - OID_CollectivePostalCode[] = { OID_ATTR_TYPE, 17, 1 }, - OID_PostOfficeBox[] = { OID_ATTR_TYPE, 18 }, - OID_CollectivePostOfficeBox[] = { OID_ATTR_TYPE, 18, 1 }, - OID_PhysicalDeliveryOfficeName[] = { OID_ATTR_TYPE, 19 }, - OID_CollectivePhysicalDeliveryOfficeName[] - = { OID_ATTR_TYPE, 19, 1 }, - OID_TelephoneNumber[] = { OID_ATTR_TYPE, 20 }, - OID_CollectiveTelephoneNumber[] = { OID_ATTR_TYPE, 20, 1 }, - OID_TelexNumber[] = { OID_ATTR_TYPE, 21 }, - OID_CollectiveTelexNumber[] = { OID_ATTR_TYPE, 21, 1 }, - OID_TelexTerminalIdentifier[] = { OID_ATTR_TYPE, 22 }, - OID_CollectiveTelexTerminalIdentifier[] - = { OID_ATTR_TYPE, 22, 1 }, - OID_FacsimileTelephoneNumber[] = { OID_ATTR_TYPE, 23 }, - OID_CollectiveFacsimileTelephoneNumber[] - = { OID_ATTR_TYPE, 23, 1 }, - OID_X_121Address[] = { OID_ATTR_TYPE, 24 }, - OID_InternationalISDNNumber[] = { OID_ATTR_TYPE, 25 }, - OID_CollectiveInternationalISDNNumber[] - = { OID_ATTR_TYPE, 25, 1 }, - OID_RegisteredAddress[] = { OID_ATTR_TYPE, 26 }, - OID_DestinationIndicator[] = { OID_ATTR_TYPE, 27 }, - OID_PreferredDeliveryMethod[] = { OID_ATTR_TYPE, 28 }, - OID_PresentationAddress[] = { OID_ATTR_TYPE, 29 }, - OID_SupportedApplicationContext[] = { OID_ATTR_TYPE, 30 }, - OID_Member[] = { OID_ATTR_TYPE, 31 }, - OID_Owner[] = { OID_ATTR_TYPE, 32 }, - OID_RoleOccupant[] = { OID_ATTR_TYPE, 33 }, - OID_SeeAlso[] = { OID_ATTR_TYPE, 34 }, - OID_UserPassword[] = { OID_ATTR_TYPE, 35 }, - OID_UserCertificate[] = { OID_ATTR_TYPE, 36 }, - OID_CACertificate[] = { OID_ATTR_TYPE, 37 }, - OID_AuthorityRevocationList[] = { OID_ATTR_TYPE, 38 }, - OID_CertificateRevocationList[] = { OID_ATTR_TYPE, 39 }, - OID_CrossCertificatePair[] = { OID_ATTR_TYPE, 40 }, - OID_Name[] = { OID_ATTR_TYPE, 41 }, - OID_GivenName[] = { OID_ATTR_TYPE, 42 }, - OID_Initials[] = { OID_ATTR_TYPE, 43 }, - OID_GenerationQualifier[] = { OID_ATTR_TYPE, 44 }, - OID_UniqueIdentifier[] = { OID_ATTR_TYPE, 45 }, - OID_DNQualifier[] = { OID_ATTR_TYPE, 46 }, - OID_EnhancedSearchGuide[] = { OID_ATTR_TYPE, 47 }, - OID_ProtocolInformation[] = { OID_ATTR_TYPE, 48 }, - OID_DistinguishedName[] = { OID_ATTR_TYPE, 49 }, - OID_UniqueMember[] = { OID_ATTR_TYPE, 50 }, - OID_HouseIdentifier[] = { OID_ATTR_TYPE, 51 } -; - -const SecAsn1Oid -CSSMOID_ObjectClass = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_ObjectClass}, -CSSMOID_AliasedEntryName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_AliasedEntryName}, -CSSMOID_KnowledgeInformation = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_KnowledgeInformation}, -CSSMOID_CommonName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_CommonName}, -CSSMOID_Surname = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Surname}, -CSSMOID_SerialNumber = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_SerialNumber}, -CSSMOID_CountryName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_CountryName}, -CSSMOID_LocalityName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_LocalityName}, -CSSMOID_StateProvinceName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_StateProvinceName}, -CSSMOID_CollectiveStateProvinceName - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveStateProvinceName}, -CSSMOID_StreetAddress = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_StreetAddress}, -CSSMOID_CollectiveStreetAddress = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveStreetAddress}, -CSSMOID_OrganizationName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_OrganizationName}, -CSSMOID_CollectiveOrganizationName - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveOrganizationName}, -CSSMOID_OrganizationalUnitName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_OrganizationalUnitName}, -CSSMOID_CollectiveOrganizationalUnitName - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveOrganizationalUnitName}, -CSSMOID_Title = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Title}, -CSSMOID_Description = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Description}, -CSSMOID_SearchGuide = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_SearchGuide}, -CSSMOID_BusinessCategory = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_BusinessCategory}, -CSSMOID_PostalAddress = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PostalAddress}, -CSSMOID_CollectivePostalAddress = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectivePostalAddress}, -CSSMOID_PostalCode = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PostalCode}, -CSSMOID_CollectivePostalCode = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectivePostalCode}, -CSSMOID_PostOfficeBox = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PostOfficeBox}, -CSSMOID_CollectivePostOfficeBox = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectivePostOfficeBox}, -CSSMOID_PhysicalDeliveryOfficeName - = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PhysicalDeliveryOfficeName}, -CSSMOID_CollectivePhysicalDeliveryOfficeName - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectivePhysicalDeliveryOfficeName}, -CSSMOID_TelephoneNumber = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_TelephoneNumber}, -CSSMOID_CollectiveTelephoneNumber - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveTelephoneNumber}, -CSSMOID_TelexNumber = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_TelexNumber}, -CSSMOID_CollectiveTelexNumber = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveTelexNumber}, -CSSMOID_TelexTerminalIdentifier = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_TelexTerminalIdentifier}, -CSSMOID_CollectiveTelexTerminalIdentifier - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveTelexTerminalIdentifier}, -CSSMOID_FacsimileTelephoneNumber= { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_FacsimileTelephoneNumber}, -CSSMOID_CollectiveFacsimileTelephoneNumber - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveFacsimileTelephoneNumber}, -CSSMOID_X_121Address = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_X_121Address}, -CSSMOID_InternationalISDNNumber = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_InternationalISDNNumber}, -CSSMOID_CollectiveInternationalISDNNumber - = { OID_ATTR_TYPE_LENGTH+2, (uint8_t *)OID_CollectiveInternationalISDNNumber}, -CSSMOID_RegisteredAddress = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_RegisteredAddress}, -CSSMOID_DestinationIndicator = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_DestinationIndicator}, -CSSMOID_PreferredDeliveryMethod = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PreferredDeliveryMethod}, -CSSMOID_PresentationAddress = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_PresentationAddress}, -CSSMOID_SupportedApplicationContext - = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_SupportedApplicationContext}, -CSSMOID_Member = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Member}, -CSSMOID_Owner = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Owner}, -CSSMOID_RoleOccupant = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_RoleOccupant}, -CSSMOID_SeeAlso = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_SeeAlso}, -CSSMOID_UserPassword = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_UserPassword}, -CSSMOID_UserCertificate = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_UserCertificate}, -CSSMOID_CACertificate = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_CACertificate}, -CSSMOID_AuthorityRevocationList = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_AuthorityRevocationList}, -CSSMOID_CertificateRevocationList - = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_CertificateRevocationList}, -CSSMOID_CrossCertificatePair = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_CrossCertificatePair}, -CSSMOID_Name = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Name}, -CSSMOID_GivenName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_GivenName}, -CSSMOID_Initials = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_Initials}, -CSSMOID_GenerationQualifier = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_GenerationQualifier}, -CSSMOID_UniqueIdentifier = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_UniqueIdentifier}, -CSSMOID_DNQualifier = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_DNQualifier}, -CSSMOID_EnhancedSearchGuide = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_EnhancedSearchGuide}, -CSSMOID_ProtocolInformation = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_ProtocolInformation}, -CSSMOID_DistinguishedName = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_DistinguishedName}, -CSSMOID_UniqueMember = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_UniqueMember}, -CSSMOID_HouseIdentifier = { OID_ATTR_TYPE_LENGTH+1, (uint8_t *)OID_HouseIdentifier} -; - - -/* From PKCS 9 */ -static const uint8_t - OID_EmailAddress[] = { OID_PKCS_9, 1 }, - OID_UnstructuredName[] = { OID_PKCS_9, 2 }, - OID_ContentType[] = { OID_PKCS_9, 3 }, - OID_MessageDigest[] = { OID_PKCS_9, 4 }, - OID_SigningTime[] = { OID_PKCS_9, 5 }, - OID_CounterSignature[] = { OID_PKCS_9, 6 }, - OID_ChallengePassword[] = { OID_PKCS_9, 7 }, - OID_UnstructuredAddress[] = { OID_PKCS_9, 8 }, - OID_ExtendedCertificateAttributes[] = { OID_PKCS_9, 9 } -; - -const SecAsn1Oid -CSSMOID_EmailAddress = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_EmailAddress}, -CSSMOID_UnstructuredName = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_UnstructuredName}, -CSSMOID_ContentType = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_ContentType}, -CSSMOID_MessageDigest = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_MessageDigest}, -CSSMOID_SigningTime = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_SigningTime}, -CSSMOID_CounterSignature = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_CounterSignature}, -CSSMOID_ChallengePassword = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_ChallengePassword}, -CSSMOID_UnstructuredAddress = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_UnstructuredAddress}, -CSSMOID_ExtendedCertificateAttributes = {OID_PKCS_9_LENGTH+1, (uint8_t *)OID_ExtendedCertificateAttributes}; - -/* PKIX */ -static const uint8_t - OID_QT_CPS[] = { OID_QT, 1 }, - OID_QT_UNOTICE[] = { OID_QT, 2 }, - _OID_AD_OCSP[] = { OID_AD_OCSP }, - OID_AD_CA_ISSUERS[] = { OID_AD, 2 }, - OID_AD_TIME_STAMPING[] = { OID_AD, 3 }, - OID_AD_CA_REPOSITORY[] = { OID_AD, 5 }, - OID_PDA_DATE_OF_BIRTH[] = { OID_PDA, 1 }, - OID_PDA_PLACE_OF_BIRTH[] = { OID_PDA, 2 }, - OID_PDA_GENDER[] = { OID_PDA, 3 }, - OID_PDA_COUNTRY_CITIZEN[] = { OID_PDA, 4 }, - OID_PDA_COUNTRY_RESIDENCE[] = { OID_PDA, 5 }, - OID_QCS_SYNTAX_V1[] = { OID_QCS, 1 }, - OID_QCS_SYNTAX_V2[] = { OID_QCS, 2 } -; - -/* ETSI */ -static const uint8_t - OID_ETSI_QCS_QC_COMPLICANCE[] = { OID_ETSI_QCS, 1 }, - OID_ETSI_QCS_QC_LIMIT_VALUE[] = { OID_ETSI_QCS, 2 }, - __unused OID_ETSI_QCS_QC_RETENTION[] = { OID_ETSI_QCS, 3 }, - __unused OID_ETSI_QCS_QC_SSCD[] = { OID_ETSI_QCS, 4 } -; - -const SecAsn1Oid -CSSMOID_QT_CPS = {OID_QT_LENGTH+1, (uint8_t *)OID_QT_CPS}, -CSSMOID_QT_UNOTICE = {OID_QT_LENGTH+1, (uint8_t *)OID_QT_UNOTICE}, -CSSMOID_AD_OCSP = {OID_AD_LENGTH+1, (uint8_t *)_OID_AD_OCSP}, -CSSMOID_AD_CA_ISSUERS = {OID_AD_LENGTH+1, (uint8_t *)OID_AD_CA_ISSUERS}, -CSSMOID_AD_TIME_STAMPING = {OID_AD_LENGTH+1, (uint8_t *)OID_AD_TIME_STAMPING}, -CSSMOID_AD_CA_REPOSITORY = {OID_AD_LENGTH+1, (uint8_t *)OID_AD_CA_REPOSITORY}, -CSSMOID_PDA_DATE_OF_BIRTH = {OID_PDA_LENGTH+1, (uint8_t *)OID_PDA_DATE_OF_BIRTH}, -CSSMOID_PDA_PLACE_OF_BIRTH = {OID_PDA_LENGTH+1, (uint8_t *)OID_PDA_PLACE_OF_BIRTH}, -CSSMOID_PDA_GENDER = {OID_PDA_LENGTH+1, (uint8_t *)OID_PDA_GENDER}, -CSSMOID_PDA_COUNTRY_CITIZEN = {OID_PDA_LENGTH+1, (uint8_t *)OID_PDA_COUNTRY_CITIZEN}, -CSSMOID_PDA_COUNTRY_RESIDENCE = {OID_PDA_LENGTH+1, (uint8_t *)OID_PDA_COUNTRY_RESIDENCE}, -CSSMOID_OID_QCS_SYNTAX_V1 = {OID_QCS_LENGTH+1, (uint8_t *)OID_QCS_SYNTAX_V1}, -CSSMOID_OID_QCS_SYNTAX_V2 = {OID_QCS_LENGTH+1, (uint8_t *)OID_QCS_SYNTAX_V2} -; - -const SecAsn1Oid -CSSMOID_ETSI_QCS_QC_COMPLIANCE = {OID_ETSI_QCS_LENGTH + 1, - (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE}, -CSSMOID_ETSI_QCS_QC_LIMIT_VALUE = {OID_ETSI_QCS_LENGTH + 1, - (uint8_t *)OID_ETSI_QCS_QC_LIMIT_VALUE}, -CSSMOID_ETSI_QCS_QC_RETENTION = {OID_ETSI_QCS_LENGTH + 1, - (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE}, -CSSMOID_ETSI_QCS_QC_SSCD = {OID_ETSI_QCS_LENGTH + 1, - (uint8_t *)OID_ETSI_QCS_QC_COMPLICANCE} -; - -#define OID_PKCS12_BagTypes OID_PKCS_12,10,1 -#define OID_PKCS12_BagTypesLength OID_PKCS_12_LENGTH+2 - -#define ID_PKCS9_CertTypes OID_PKCS_9, 22 -#define OID_PKCS9_CertTypesLength OID_PKCS_9_LENGTH+1 -#define ID_PKCS9_CrlTypes OID_PKCS_9, 23 -#define OID_PKCS9_CrlTypesLength OID_PKCS_9_LENGTH+1 - -static const uint8_t - OID_PKCS7_Data[] = { OID_PKCS_7, 1}, - OID_PKCS7_SignedData[] = { OID_PKCS_7, 2}, - OID_PKCS7_EnvelopedData[] = { OID_PKCS_7, 3}, - OID_PKCS7_SignedAndEnvelopedData[] = { OID_PKCS_7, 4}, - OID_PKCS7_DigestedData[] = { OID_PKCS_7, 5}, - OID_PKCS7_EncryptedData[] = { OID_PKCS_7, 6}, - OID_PKCS7_DataWithAttributes[] = { OID_PKCS_7, 7}, - OID_PKCS7_EncryptedPrivateKeyInfo[] = { OID_PKCS_7, 8}, - - OID_PKCS9_FriendlyName[] = { OID_PKCS_9, 20}, - OID_PKCS9_LocalKeyId[] = { OID_PKCS_9, 21}, - OID_PKCS9_CertTypes[] = { ID_PKCS9_CertTypes }, - OID_PKCS9_CrlTypes[] = { ID_PKCS9_CrlTypes }, - OID_PKCS9_X509Certificate[] = { ID_PKCS9_CertTypes, 1 }, - OID_PKCS9_SdsiCertificate[] = { ID_PKCS9_CertTypes, 2 }, - OID_PKCS9_X509Crl[] = { ID_PKCS9_CrlTypes, 1 }, - - OID_PKCS12_keyBag[] = { OID_PKCS12_BagTypes, 1}, - OID_PKCS12_shroundedKeyBag[] = { OID_PKCS12_BagTypes, 2}, - OID_PKCS12_certBag[] = { OID_PKCS12_BagTypes, 3}, - OID_PKCS12_crlBag[] = { OID_PKCS12_BagTypes, 4}, - OID_PKCS12_secretBag[] = { OID_PKCS12_BagTypes, 5}, - OID_PKCS12_safeContentsBag[] = { OID_PKCS12_BagTypes, 6} -; - -/* - -- ContentTypes - {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1)} - - -- Attributes - {iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2)} - - -- eContentType for a time-stamp token - - id-ct-TSTInfo OBJECT IDENTIFIER ::= { iso(1) member-body(2) - us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) ct(1) 4} - - id-aa-timeStampToken OBJECT IDENTIFIER ::= { iso(1) member-body(2) - us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) aa(2) 14 } -*/ - -#define ID_PKCS9_SMIME OID_PKCS_9, 16 -#define OID_PKCS9_SMIMELength OID_PKCS_9_LENGTH+1 -#define ID_PKCS9_CONTENT_TYPES ID_PKCS9_SMIME, 1 -#define OID_PKCS9_CT_Length OID_PKCS9_SMIMELength+1 -#define ID_PKCS9_ATTRIBUTES ID_PKCS9_SMIME, 2 -#define OID_PKCS9_Attrs_Length OID_PKCS9_SMIMELength+1 - -static const uint8_t - OID_ID_CT_TSTInfo[] = { ID_PKCS9_CONTENT_TYPES, 4 }, - OID_TimeStampToken[] = { ID_PKCS9_ATTRIBUTES, 14 }; - -const SecAsn1Oid -CSSMOID_PKCS9_Id_Ct_TSTInfo = {OID_PKCS9_CT_Length + 1, - (uint8_t *)OID_ID_CT_TSTInfo }, -CSSMOID_PKCS9_TimeStampToken = {OID_PKCS9_Attrs_Length + 1, - (uint8_t *)OID_TimeStampToken }; - - -const SecAsn1Oid -CSSMOID_PKCS7_Data = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_Data }, -CSSMOID_PKCS7_SignedData = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_SignedData }, -CSSMOID_PKCS7_EnvelopedData = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_EnvelopedData }, -CSSMOID_PKCS7_SignedAndEnvelopedData = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_SignedAndEnvelopedData }, -CSSMOID_PKCS7_DigestedData = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_DigestedData }, -CSSMOID_PKCS7_EncryptedData = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_EncryptedData }, -CSSMOID_PKCS7_DataWithAttributes = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_DataWithAttributes }, -CSSMOID_PKCS7_EncryptedPrivateKeyInfo = {OID_PKCS_7_LENGTH + 1, - (uint8_t *)OID_PKCS7_EncryptedPrivateKeyInfo }, - -CSSMOID_PKCS9_FriendlyName = {OID_PKCS_9_LENGTH + 1, - (uint8_t *)OID_PKCS9_FriendlyName }, -CSSMOID_PKCS9_LocalKeyId = {OID_PKCS_9_LENGTH + 1, - (uint8_t *)OID_PKCS9_LocalKeyId }, -CSSMOID_PKCS9_CertTypes = {OID_PKCS_9_LENGTH + 1, - (uint8_t *)OID_PKCS9_CertTypes }, -CSSMOID_PKCS9_CrlTypes = {OID_PKCS_9_LENGTH + 1, - (uint8_t *)OID_PKCS9_CrlTypes }, -CSSMOID_PKCS9_X509Certificate = {OID_PKCS9_CertTypesLength + 1, - (uint8_t *)OID_PKCS9_X509Certificate }, -CSSMOID_PKCS9_SdsiCertificate = {OID_PKCS9_CertTypesLength + 1, - (uint8_t *)OID_PKCS9_SdsiCertificate }, -CSSMOID_PKCS9_X509Crl = {OID_PKCS9_CrlTypesLength + 1, - (uint8_t *)OID_PKCS9_X509Crl }, - - -CSSMOID_PKCS12_keyBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_keyBag }, -CSSMOID_PKCS12_shroudedKeyBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_shroundedKeyBag }, -CSSMOID_PKCS12_certBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_certBag }, -CSSMOID_PKCS12_crlBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_crlBag }, -CSSMOID_PKCS12_secretBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_secretBag }, -CSSMOID_PKCS12_safeContentsBag = {OID_PKCS12_BagTypesLength + 1, - (uint8_t *)OID_PKCS12_safeContentsBag } - -; - -/* Kerberos PKINIT CMS ContentInfo types */ - -static const uint8_t - OID_KERBv5_PKINIT_AUTH_DATA[] = { OID_KERBv5_PKINIT, 1 }, - OID_KERBv5_PKINIT_DH_KEY_DATA[] = { OID_KERBv5_PKINIT, 2 }, - OID_KERBv5_PKINIT_RKEY_DATA[] = { OID_KERBv5_PKINIT, 3 }; - -const SecAsn1Oid -CSSMOID_KERBv5_PKINIT_AUTH_DATA = { OID_KERBv5_PKINIT_LEN + 1, - (uint8_t *)OID_KERBv5_PKINIT_AUTH_DATA }, -CSSMOID_KERBv5_PKINIT_DH_KEY_DATA = { OID_KERBv5_PKINIT_LEN + 1, - (uint8_t *)OID_KERBv5_PKINIT_DH_KEY_DATA }, -CSSMOID_KERBv5_PKINIT_RKEY_DATA = { OID_KERBv5_PKINIT_LEN + 1, - (uint8_t *)OID_KERBv5_PKINIT_RKEY_DATA }; - -/* - * Additional OIDS for LDAP support - */ - -static const uint8_t - OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_Data[] = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID}; - -const SecAsn1Oid -CSSMOID_UserID = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_LENGTH, (uint8_t *)OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_USERID_Data}; - -static const uint8_t - OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_Data[] = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT}; - -const SecAsn1Oid -CSSMOID_DomainComponent = {OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_LENGTH, (uint8_t *)OID_ITU_RFCDATA_2342_UCL_DIRECTORYPILOT_ATTRIBUTES_DOMAINCOMPONENT_Data}; - -/* ANSI X9.62 and Certicom elliptic curve OIDs */ -static const uint8_t - OID_X9_62[] = { OID_ANSI_X9_62 }, - OID_X9_62_FieldType[] = { OID_ANSI_X9_62_FIELD_TYPE }, - OID_X9_62_PubKeyType[] = { OID_ANSI_X9_62_PUBKEY_TYPE }, - OID_X9_62_EllCurve[] = { OID_ANSI_X9_62_ELL_CURVE }, - OID_X9_62_C_TwoCurve[] = { OID_ANSI_X9_62_C_TWO_CURVE }, - OID_X9_62_PrimeCurve[] = { OID_ANSI_X9_62_PRIME_CURVE }, - OID_X9_62_SigType[] = { OID_ANSI_X9_62_SIG_TYPE }, - - /* these two defined in ANSI X9.62 but renamed in common usage */ - OID_secp192r1[] = { OID_ANSI_X9_62_PRIME_CURVE, 1 }, - OID_secp256r1[] = { OID_ANSI_X9_62_PRIME_CURVE, 7 }, - /* remainder defined in Certicom SEC 2 */ - OID_Certicom[] = { OID_CERTICOM }, - OID_CerticomEllCurve[] = { OID_CERTICOM_ELL_CURVE }, - /* curves over prime-order fields */ - OID_secp112r1[] = { OID_CERTICOM_ELL_CURVE, 6 }, - OID_secp112r2[] = { OID_CERTICOM_ELL_CURVE, 7 }, - OID_secp128r1[] = { OID_CERTICOM_ELL_CURVE, 28 }, - OID_secp128r2[] = { OID_CERTICOM_ELL_CURVE, 29 }, - OID_secp160k1[] = { OID_CERTICOM_ELL_CURVE, 9 }, - OID_secp160r1[] = { OID_CERTICOM_ELL_CURVE, 8 }, - OID_secp160r2[] = { OID_CERTICOM_ELL_CURVE, 30 }, - OID_secp192k1[] = { OID_CERTICOM_ELL_CURVE, 31 }, - OID_secp224k1[] = { OID_CERTICOM_ELL_CURVE, 32 }, - OID_secp224r1[] = { OID_CERTICOM_ELL_CURVE, 33 }, - OID_secp256k1[] = { OID_CERTICOM_ELL_CURVE, 10 }, - OID_secp384r1[] = { OID_CERTICOM_ELL_CURVE, 34 }, - OID_secp521r1[] = { OID_CERTICOM_ELL_CURVE, 35 }, - /* curves over characteristic 2 fields */ - OID_sect113r1[] = { OID_CERTICOM_ELL_CURVE, 4 }, - OID_sect113r2[] = { OID_CERTICOM_ELL_CURVE, 5 }, - OID_sect131r1[] = { OID_CERTICOM_ELL_CURVE, 22 }, - OID_sect131r2[] = { OID_CERTICOM_ELL_CURVE, 23 }, - OID_sect163k1[] = { OID_CERTICOM_ELL_CURVE, 1 }, - OID_sect163r1[] = { OID_CERTICOM_ELL_CURVE, 2 }, - OID_sect163r2[] = { OID_CERTICOM_ELL_CURVE, 15 }, - OID_sect193r1[] = { OID_CERTICOM_ELL_CURVE, 24 }, - OID_sect193r2[] = { OID_CERTICOM_ELL_CURVE, 25 }, - OID_sect233k1[] = { OID_CERTICOM_ELL_CURVE, 26 }, - OID_sect233r1[] = { OID_CERTICOM_ELL_CURVE, 27 }, - OID_sect239k1[] = { OID_CERTICOM_ELL_CURVE, 3 }, - OID_sect283k1[] = { OID_CERTICOM_ELL_CURVE, 16 }, - OID_sect283r1[] = { OID_CERTICOM_ELL_CURVE, 17 }, - OID_sect409k1[] = { OID_CERTICOM_ELL_CURVE, 36 }, - OID_sect409r1[] = { OID_CERTICOM_ELL_CURVE, 37 }, - OID_sect571k1[] = { OID_CERTICOM_ELL_CURVE, 38 }, - OID_sect571r1[] = { OID_CERTICOM_ELL_CURVE, 39 } -; - -const SecAsn1Oid - CSSMOID_X9_62 = {OID_ANSI_X9_42_LEN, (uint8_t *)OID_X9_62 }, - CSSMOID_X9_62_FieldType = {OID_ANSI_X9_42_LEN+1, (uint8_t *)OID_X9_62_FieldType }, - CSSMOID_X9_62_PubKeyType = {OID_ANSI_X9_42_LEN+1, (uint8_t *)OID_X9_62_PubKeyType }, - CSSMOID_X9_62_EllCurve = {OID_ANSI_X9_42_LEN+1, (uint8_t *)OID_X9_62_EllCurve }, - CSSMOID_X9_62_C_TwoCurve = {OID_ANSI_X9_62_ELL_CURVE_LEN+1, (uint8_t *)OID_X9_62_C_TwoCurve }, - CSSMOID_X9_62_PrimeCurve = {OID_ANSI_X9_62_ELL_CURVE_LEN+1, (uint8_t *)OID_X9_62_PrimeCurve }, - CSSMOID_X9_62_SigType = {OID_ANSI_X9_42_LEN+1, (uint8_t *)OID_X9_62_SigType }, - CSSMOID_secp192r1 = {OID_ANSI_X9_62_ELL_CURVE_LEN+2, (uint8_t *)OID_secp192r1 }, - CSSMOID_secp256r1 = {OID_ANSI_X9_62_ELL_CURVE_LEN+2, (uint8_t *)OID_secp256r1 }, - CSSMOID_Certicom = {OID_CERTICOM_LEN, (uint8_t *)OID_Certicom }, - CSSMOID_CerticomEllCurve = {OID_CERTICOM_ELL_CURVE_LEN, (uint8_t *)OID_CerticomEllCurve }, - CSSMOID_secp112r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp112r1 }, - CSSMOID_secp112r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp112r2 }, - CSSMOID_secp128r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp128r1 }, - CSSMOID_secp128r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp128r2 }, - CSSMOID_secp160k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp160k1 }, - CSSMOID_secp160r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp160r1 }, - CSSMOID_secp160r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp160r2 }, - CSSMOID_secp192k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp192k1 }, - CSSMOID_secp224k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp224k1 }, - CSSMOID_secp224r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp224r1 }, - CSSMOID_secp256k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp256k1 }, - CSSMOID_secp384r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp384r1 }, - CSSMOID_secp521r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_secp521r1 }, - CSSMOID_sect113r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect113r1 }, - CSSMOID_sect113r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect113r2 }, - CSSMOID_sect131r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect131r1 }, - CSSMOID_sect131r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect131r2 }, - CSSMOID_sect163k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect163k1 }, - CSSMOID_sect163r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect163r1 }, - CSSMOID_sect163r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect163r2 }, - CSSMOID_sect193r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect193r1 }, - CSSMOID_sect193r2 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect193r2 }, - CSSMOID_sect233k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect233k1 }, - CSSMOID_sect233r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect233r1 }, - CSSMOID_sect239k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect239k1 }, - CSSMOID_sect283k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect283k1 }, - CSSMOID_sect283r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect283r1 }, - CSSMOID_sect409k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect409k1 }, - CSSMOID_sect409r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect409r1 }, - CSSMOID_sect571k1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect571k1 }, - CSSMOID_sect571r1 = {OID_CERTICOM_ELL_CURVE_LEN+1, (uint8_t *)OID_sect571r1 };