/*
* Copyright (c) 2005-2009,2011-2017 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@
*/
/*
* oids.h - declaration of OID consts
*
*/
#ifndef _LIB_DER_OIDS_H_
#define _LIB_DER_OIDS_H_
#include <libDER/libDER_config.h>
#include <libDER/DERItem.h>
__BEGIN_DECLS
#define LIBDER_HAS_EDDSA 1
#define LIBDER_HAS_QCSTATEMENTS 1
/* Algorithm oids. */
extern const DERItem
oidRsa, /* PKCS1 RSA encryption, used to identify RSA keys */
oidMd2Rsa, /* PKCS1 md2withRSAEncryption signature alg */
oidMd4Rsa, /* PKCS1 md4withRSAEncryption signature alg */
oidMd5Rsa, /* PKCS1 md5withRSAEncryption signature alg */
oidSha1Rsa, /* PKCS1 sha1withRSAEncryption signature alg */
oidSha256Rsa, /* PKCS1 sha256WithRSAEncryption signature alg */
oidSha384Rsa, /* PKCS1 sha384WithRSAEncryption signature alg */
oidSha512Rsa, /* PKCS1 sha512WithRSAEncryption signature alg */
oidSha224Rsa, /* PKCS1 sha224WithRSAEncryption signature alg */
oidEcPubKey, /* ECDH or ECDSA public key in a certificate */
oidSha1Ecdsa, /* ECDSA with SHA1 signature alg */
oidSha224Ecdsa, /* ECDSA with SHA224 signature alg */
oidSha256Ecdsa, /* ECDSA with SHA256 signature alg */
oidSha384Ecdsa, /* ECDSA with SHA384 signature alg */
oidSha512Ecdsa, /* ECDSA with SHA512 signature alg */
oidSha1Dsa, /* ANSI X9.57 DSA with SHA1 signature alg */
oidMd2, /* OID_RSA_HASH 2 */
oidMd4, /* OID_RSA_HASH 4 */
oidMd5, /* OID_RSA_HASH 5 */
oidSha1, /* OID_OIW_ALGORITHM 26 */
oidSha1DsaOIW, /* OID_OIW_ALGORITHM 27 */
oidSha1DsaCommonOIW,/* OID_OIW_ALGORITHM 28 */
oidSha1RsaOIW, /* OID_OIW_ALGORITHM 29 */
oidSha256, /* OID_NIST_HASHALG 1 */
oidSha384, /* OID_NIST_HASHALG 2 */
oidSha512, /* OID_NIST_HASHALG 3 */
oidSha224, /* OID_NIST_HASHALG 4 */
oidFee, /* APPLE_ALG_OID 1 */
oidMd5Fee, /* APPLE_ALG_OID 3 */
oidSha1Fee, /* APPLE_ALG_OID 4 */
oidEcPrime192v1, /* OID_EC_CURVE 1 prime192v1/secp192r1/ansiX9p192r1*/
oidEcPrime256v1, /* OID_EC_CURVE 7 prime256v1/secp256r1*/
oidAnsip224r1, /* OID_CERTICOM_EC_CURVE 33 ansip224r1/secp224r1*/
oidAnsip384r1, /* OID_CERTICOM_EC_CURVE 34 ansip384r1/secp384r1*/
oidAnsip521r1, /* OID_CERTICOM_EC_CURVE 35 ansip521r1/secp521r1*/
oidPSSRsa, /* OID RSASS-PSS */
oidMfg1, /* RFC 4055: id-mgf1 */
oidEd25519, /* RFC 8410: id-Ed25519 */
oidEd448, /* RFC 8410: id-Ed448 */
oidX25519, /* RFC 8410: id-X25519 */
oidX448, /* RFC 8410: id-X448 */
oidSHAKE256; /* RFC 8702: id-shake256 */
/* Standard X.509 Cert and CRL extensions. */
extern const DERItem
oidSubjectKeyIdentifier,
oidKeyUsage,
oidPrivateKeyUsagePeriod,
oidSubjectAltName,
oidIssuerAltName,
oidBasicConstraints,
oidNameConstraints,
oidCrlDistributionPoints,
oidCertificatePolicies,
oidAnyPolicy,
oidPolicyMappings,
oidAuthorityKeyIdentifier,
oidPolicyConstraints,
oidExtendedKeyUsage,
oidAnyExtendedKeyUsage,
oidInhibitAnyPolicy,
oidAuthorityInfoAccess,
oidQCStatements,
oidSubjectInfoAccess,
oidAdOCSP,
oidAdCAIssuer,
oidNetscapeCertType,
oidEntrustVersInfo,
oidMSNTPrincipalName,
oidOCSPNoCheck;
/* Policy Qualifier IDs for Internet policy qualifiers. */
extern const DERItem
oidQtCps,
oidQtUNotice;
/* X.501 Name IDs. */
extern const DERItem
oidCommonName,
oidCountryName,
oidLocalityName,
oidStateOrProvinceName,
oidOrganizationName,
oidOrganizationalUnitName,
oidDescription,
oidEmailAddress,
oidFriendlyName,
oidLocalKeyId,
oidStreetAddress,
oidUserId,
oidCollectiveOrganizationName,
oidCollectiveOrganizationalUnitName,
oidCollectiveStateOrProvinceName,
oidCollectiveStreetAddress;
/* X.509 Extended Key Usages */
extern const DERItem
oidExtendedKeyUsageServerAuth,
oidExtendedKeyUsageClientAuth,
oidExtendedKeyUsageCodeSigning,
oidExtendedKeyUsageEmailProtection,
oidExtendedKeyUsageTimeStamping,
oidExtendedKeyUsageOCSPSigning,
oidExtendedKeyUsageIPSec,
oidExtendedKeyUsageMicrosoftSGC,
oidExtendedKeyUsageNetscapeSGC;
/* Google Certificate Transparency OIDs */
extern const DERItem
oidGoogleEmbeddedSignedCertificateTimestamp,
oidGoogleOCSPSignedCertificateTimestamp;
/* Apple Oids */
extern const DERItem
oidAppleSecureBootCertSpec,
/* Ticket-Based Secure Boot Spec oid */
oidAppleSecureBootTicketCertSpec,
/* Image4 Manifest Signing Cert Spec */
oidAppleImg4ManifestCertSpec,
oidAppleProvisioningProfile,
oidAppleApplicationSigning,
oidAppleTVOSApplicationSigningProd,
oidAppleTVOSApplicationSigningProdQA,
oidAppleXROSApplicationSigningProd,
oidAppleXROSApplicationSigningProdQA,
oidAppleInstallerPackagingSigningExternal,
oidAppleExtendedKeyUsageCodeSigning,
oidAppleExtendedKeyUsageCodeSigningDev,
oidAppleExtendedKeyUsageAppleID,
oidAppleExtendedKeyUsagePassbook,
oidAppleExtendedKeyUsageProfileSigning,
oidAppleExtendedKeyUsageQAProfileSigning,
oidAppleIntmMarkerAppleWWDR,
oidAppleIntmMarkerAppleID,
oidAppleIntmMarkerAppleID2,
oidApplePushServiceClient,
oidApplePolicyMobileStore,
oidApplePolicyMobileStoreProdQA,
oidApplePolicyEscrowService,
oidAppleCertExtensionAppleIDRecordValidationSigning,
oidAppleCertExtOSXProvisioningProfileSigning,
oidAppleIntmMarkerAppleSystemIntg2,
oidAppleIntmMarkerAppleSystemIntgG3,
oidAppleCertExtAppleSMPEncryption,
oidAppleCertExtAppleServerAuthentication,
oidAppleCertExtAppleServerAuthenticationIDSProdQA,
oidAppleCertExtAppleServerAuthenticationIDSProd,
oidAppleCertExtAppleServerAuthenticationAPNProdQA,
oidAppleCertExtAppleServerAuthenticationAPNProd,
oidAppleCertExtAppleServerAuthenticationGS,
oidAppleCertExtAppleServerAuthenticationPPQProdQA,
oidAppleCertExtAppleServerAuthenticationPPQProd,
oidAppleIntmMarkerAppleServerAuthentication,
oidAppleCertExtApplePPQSigningProd,
oidAppleCertExtApplePPQSigningProdQA,
oidAppleCertExtATVAppSigningProd,
oidAppleCertExtATVAppSigningProdQA,
oidAppleCertExtATVVPNProfileSigning,
oidAppleCertExtCryptoServicesExtEncryption,
oidAppleCertExtAST2DiagnosticsServerAuthProdQA,
oidAppleCertExtAST2DiagnosticsServerAuthProd,
oidAppleCertExtEscrowProxyServerAuthProdQA,
oidAppleCertExtEscrowProxyServerAuthProd,
oidAppleCertExtFMiPServerAuthProdQA,
oidAppleCertExtFMiPServerAuthProd,
oidAppleCertExtHomeKitServerAuth,
oidAppleIntmMarkerAppleHomeKitServerCA,
oidAppleCertExtAppleServerAuthenticationMMCSProdQA,
oidAppleCertExtAppleServerAuthenticationMMCSProd,
oidAppleCertExtAppleServerAuthenticationiCloudSetupProdQA,
oidAppleCertExtAppleServerAuthenticationiCloudSetupProd,
oidAppleCertExtTrustCacheSigning,
oidAppleCertExtTrustCacheSigningTest;
/* Microsoft Oids */
extern const DERItem
oidMicrosoftSpcIndirectDataContext,
oidMicrosoftSpcSpOpusInfo,
oidMicrosoftSpcPEImageData;
/* CMS Oids */
extern const DERItem
oidContentType,
oidMessageDigest,
oidPkcs7SignedData;
/* QC Statement Oids */
extern const DERItem
oidQCSyntaxv1,
oidQCSyntaxv2,
oidSemanticsIdNatural,
oidSemanticsIdLegal,
oidSemanticsIdEidasNatural,
oidSemanticsIdEidasLegal,
oidQCCompliance,
oidQCLimitValue,
oidQCEuRetentionPeriod,
oidQCDisclosures,
oidQCType,
oidQCTypeEsign,
oidQCTypeEseal,
oidQCTypeWeb;
/* Compare two decoded OIDs. Returns true iff they are equivalent. */
DERBool DEROidCompare(const DERItem *oid1, const DERItem *oid2);
__END_DECLS
#endif /* _LIB_DER_OIDS_H_ */