X-Git-Url: https://git.saurik.com/apple/security.git/blobdiff_plain/80e2389990082500d76eb566d4946be3e786c3ef..d8f41ccd20de16f8ebe2ccc84d47bf1cb2b26bbb:/libsecurity_keychain/lib/SecCertificatePrivP.h diff --git a/libsecurity_keychain/lib/SecCertificatePrivP.h b/libsecurity_keychain/lib/SecCertificatePrivP.h deleted file mode 100644 index 7240e4a6..00000000 --- a/libsecurity_keychain/lib/SecCertificatePrivP.h +++ /dev/null @@ -1,176 +0,0 @@ -/* - * Copyright (c) 2006-2010,2013 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@ - */ - -/*! - @header SecCertificatePriv - The functions provided in SecCertificatePriv.h implement and manage a particular - type of keychain item that represents a certificate. You can store a - certificate in a keychain, but a certificate can also be a transient - object. - - You can use a certificate as a keychain item in most functions. - Certificates are able to compute their parent certificates, and much more. -*/ - -#ifndef _SECURITY_SECCERTIFICATEPRIVP_H_ -#define _SECURITY_SECCERTIFICATEPRIVP_H_ - -//#include -#include "SecCertificateP.h" -#include -#include -#include -#include -#include - -#if defined(__cplusplus) -extern "C" { -#endif - -typedef uint32_t SecKeyUsage; -enum { - kSecKeyUsageUnspecified = 0, - kSecKeyUsageDigitalSignature = 1 << 0, - kSecKeyUsageNonRepudiation = 1 << 1, - kSecKeyUsageContentCommitment= 1 << 1, - kSecKeyUsageKeyEncipherment = 1 << 2, - kSecKeyUsageDataEncipherment = 1 << 3, - kSecKeyUsageKeyAgreement = 1 << 4, - kSecKeyUsageKeyCertSign = 1 << 5, - kSecKeyUsageCRLSign = 1 << 6, - kSecKeyUsageEncipherOnly = 1 << 7, - kSecKeyUsageDecipherOnly = 1 << 8, - kSecKeyUsageCritical = 1 << 31, - kSecKeyUsageAll = 0x7FFFFFFF -}; - -/* Return a certificate for the DER representation of this certificate. - Return NULL if the passed-in data is not a valid DER-encoded X.509 - certificate. */ -SecCertificateRefP SecCertificateCreateWithBytesP(CFAllocatorRef allocator, - const UInt8 *bytes, CFIndex length); - -/* Return the length of the DER representation of this certificate. */ -CFIndex SecCertificateGetLengthP(SecCertificateRefP certificate); - -/* Return the bytes of the DER representation of this certificate. */ -const UInt8 *SecCertificateGetBytePtrP(SecCertificateRefP certificate); - -#pragma mark - -#pragma mark Certificate Accessors - -CFDataRef SecCertificateGetSHA1DigestP(SecCertificateRefP certificate); - -CFDataRef SecCertificateCopyIssuerSHA1Digest(SecCertificateRefP certificate); - -CFDataRef SecCertificateCopyPublicKeySHA1Digest(SecCertificateRefP certificate); - -CFStringRef SecCertificateCopyIssuerSummaryP(SecCertificateRefP certificate); - -/*! - @function SecCertificateCopyProperties - @abstract Return a property array for this trust certificate. - @param certificate A reference to the certificate to evaluate. - @result A property array. It is the caller's responsability to CFRelease - the returned array when it is no longer needed. - See SecTrustCopySummaryPropertiesAtIndex on how to intepret this array. - Unlike that function call this function returns a detailed description - of the certificate in question. -*/ -CFArrayRef SecCertificateCopyProperties(SecCertificateRefP certificate); - -CFMutableArrayRef SecCertificateCopySummaryProperties( - SecCertificateRefP certificate, CFAbsoluteTime verifyTime); - -/* Return the content of a DER-encoded integer (without the tag and length - fields) for this certificate's serial number. The caller must CFRelease - the value returned. */ -CFDataRef SecCertificateCopySerialNumberP(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the ip addresses in the - certificate if any. */ -CFArrayRef SecCertificateCopyIPAddresses(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the dns addresses in the - certificate if any. */ -CFArrayRef SecCertificateCopyDNSNamesP(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the email addresses in the - certificate if any. */ -CFArrayRef SecCertificateCopyRFC822Names(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the common names in the - certificates subject if any. */ -CFArrayRef SecCertificateCopyCommonNames(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the organization in the - certificate's subject if any. */ -CFArrayRef SecCertificateCopyOrganization(SecCertificateRefP certificate); - -/* Return an array of CFStringRefs representing the NTPrincipalNames in the - certificate if any. */ -CFArrayRef SecCertificateCopyNTPrincipalNames(SecCertificateRefP certificate); - -/* Return a string formatted according to RFC 2253 representing the complete - subject of certificate. */ -CFStringRef SecCertificateCopySubjectString(SecCertificateRefP certificate); - -/* Return a string with the company name of an ev leaf certificate. */ -CFStringRef SecCertificateCopyCompanyName(SecCertificateRefP certificate); - -/* X.509 Certificate Version: 1, 2 or 3. */ -CFIndex SecCertificateVersion(SecCertificateRefP certificate); - -CFAbsoluteTime SecCertificateNotValidBeforeP(SecCertificateRefP certificate); -CFAbsoluteTime SecCertificateNotValidAfterP(SecCertificateRefP certificate); - -/* Return true iff certificate is self signed and has a basic constraints - extension indicating that it's a certificate authority. */ -bool SecCertificateIsSelfSignedCA(SecCertificateRefP certificate); - -SecKeyUsage SecCertificateGetKeyUsage(SecCertificateRefP certificate); - -/* Returns an array of CFDataRefs for all extended key usage oids or NULL */ -CFArrayRef SecCertificateCopyExtendedKeyUsage(SecCertificateRefP certificate); - -/* Returns a certificate from a pem blob */ -SecCertificateRefP SecCertificateCreateWithPEM(CFAllocatorRef allocator, - CFDataRef pem_certificate); - -/* Return an array of CFDataRefs from an array of SecCertificateRefPs. */ -CFArrayRef SecCertificateArrayCopyDataArray(CFArrayRef certificates); - -/* Return an array of SecCertificateRefPs from an array of CFDataRefs. */ -CFArrayRef SecCertificateDataArrayCopyArray(CFArrayRef certificates); - -CFDataRef SecCertificateGetNormalizedIssuerContent(SecCertificateRefP certificate); -CFDataRef SecCertificateGetNormalizedSubjectContent(SecCertificateRefP certificate); - -CFDataRef SecCertificateCopyNormalizedIssuerSequence(SecCertificateRefP certificate); -CFDataRef SecCertificateCopyNormalizedSubjectSequence(SecCertificateRefP certificate); - -#if defined(__cplusplus) -} -#endif - -#endif /* !_SECURITY_SECCERTIFICATEPRIVP_H_ */