]> git.saurik.com Git - apple/security.git/blobdiff - sec/Security/SecTrustPriv.h
Security-57031.1.35.tar.gz
[apple/security.git] / sec / Security / SecTrustPriv.h
diff --git a/sec/Security/SecTrustPriv.h b/sec/Security/SecTrustPriv.h
deleted file mode 100644 (file)
index dfc7470..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Copyright (c) 2008-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 SecTrustPriv
-       The functions and data types in SecTrustPriv implement trust computation
-       and allow the user to apply trust decisions to the trust configuration.
-*/
-
-#ifndef _SECURITY_SECTRUSTPRIV_H_
-#define _SECURITY_SECTRUSTPRIV_H_
-
-#include <Security/SecTrust.h>
-#include <CoreFoundation/CFData.h>
-#include <CoreFoundation/CFDictionary.h>
-
-__BEGIN_DECLS
-
-typedef enum {
-       useNetworkDefault,              // default policy: network fetch enabled only for SSL
-       useNetworkDisabled,             // explicitly disable network use for any policy
-       useNetworkEnabled               // explicitly enable network use for any policy
-} SecNetworkPolicy;
-
-/* Constants used as keys in property lists.  See
-   SecTrustCopySummaryPropertiesAtIndex for more information. */
-extern CFTypeRef kSecPropertyKeyType;
-extern CFTypeRef kSecPropertyKeyLabel;
-extern CFTypeRef kSecPropertyKeyLocalizedLabel;
-extern CFTypeRef kSecPropertyKeyValue;
-
-extern CFTypeRef kSecPropertyTypeWarning;
-extern CFTypeRef kSecPropertyTypeSuccess;
-extern CFTypeRef kSecPropertyTypeSection;
-extern CFTypeRef kSecPropertyTypeData;
-extern CFTypeRef kSecPropertyTypeString;
-extern CFTypeRef kSecPropertyTypeURL;
-extern CFTypeRef kSecPropertyTypeDate;
-
-/* Constants used as keys in the dictionary returned by SecTrustCopyInfo. */
-extern CFTypeRef kSecTrustInfoExtendedValidationKey;
-extern CFTypeRef kSecTrustInfoCompanyNameKey;
-extern CFTypeRef kSecTrustInfoRevocationKey;
-extern CFTypeRef kSecTrustInfoRevocationValidUntilKey;
-
-/*!
-       @function SecTrustCopySummaryPropertiesAtIndex
-       @abstract Return a property array for the certificate.
-       @param trust A reference to the trust object to evaluate.
-       @param ix The index of the requested certificate.  Indices run from 0
-    (leaf) to the anchor (or last certificate found if no anchor was found).
-    @result A property array. It is the caller's responsibility to CFRelease
-    the returned array when it is no longer needed. This function returns a
-    short summary description of the certificate in question.  The property
-    at index 0 of the array might also include general information about the
-    entire chain's validity in the context of this trust evaluation.
-
-       @discussion Returns a property array for this trust certificate. A property
-    array is an array of CFDictionaryRefs.  Each dictionary (we call it a
-    property for short) has the following keys:
-
-          kSecPropertyKeyType This key's value determines how this property
-              should be displayed. Its associated value is one of the
-               following:
-           kSecPropertyTypeWarning
-                      The kSecPropertyKeyLocalizedLabel and kSecPropertyKeyLabel keys are not
-                          set.  The kSecPropertyKeyValue is a CFStringRef which should
-                          be displayed in yellow with a warning triangle.
-           kSecPropertyTypeError
-                      The kSecPropertyKeyLocalizedLabel and kSecPropertyKeyLabel keys are not
-                          set.  The kSecPropertyKeyValue is a CFStringRef which should
-                          be displayed in red with an error X.
-           kSecPropertyTypeSuccess
-                      The kSecPropertyKeyLocalizedLabel and kSecPropertyKeyLabel keys are not
-                          set.  The kSecPropertyKeyValue is a CFStringRef which should
-                          be displayed in green with a checkmark in front of it.
-           kSecPropertyTypeTitle
-                      The kSecPropertyKeyLocalizedLabel and kSecPropertyKeyLabel keys are not
-                          set.  The kSecPropertyKeyValue is a CFStringRef which should
-                          be displayed in a larger bold font.
-           kSecPropertyTypeSection
-                      The optional kSecPropertyKeyLocalizedLabel is a CFStringRef with the name
-                          of the next section to display.  The value of the
-                          kSecPropertyKeyValue key is a CFArrayRef which is a property
-                          array as defined here.
-           kSecPropertyTypeData
-                      The optional kSecPropertyKeyLocalizedLabel is a CFStringRef containing
-                          the localized label for the value for the kSecPropertyKeyValue.
-                          The type of this value is a CFDataRef.  Its contents should be
-                          displayed as: "bytes length_of_data : hexdump_of_data". Ideally
-                          the UI will only show one line of hex dump data and have a
-                          disclosure arrow to see the remainder.
-           kSecPropertyTypeString
-                      The optional kSecPropertyKeyLocalizedLabel is a CFStringRef containing
-                          the localized label for the value for the kSecPropertyKeyValue.
-                          The type of this value is a CFStringRef.  It's contents should be
-                          displayed in the normal font.
-           kSecPropertyTypeURL
-                      The optional kSecPropertyKeyLocalizedLabel is a CFStringRef containing
-                          the localized label for the value for the kSecPropertyKeyValue.
-                          The type of this value is a CFURLRef.  It's contents should be
-                          displayed as a hyperlink.
-           kSecPropertyTypeDate
-                      The optional kSecPropertyKeyLocalizedLabel is a CFStringRef containing
-                          the localized label for the value for the kSecPropertyKeyValue.
-                          The type of this value is a CFDateRef.  It's contents should be
-                          displayed in human readable form (probably in the current
-                          timezone).
-          kSecPropertyKeyLocalizedLabel
-              Human readable localized label for a given property.
-          kSecPropertyKeyValue
-              See description of kSecPropertyKeyType to determine what the value
-                  for this key is.
-          kSecPropertyKeyLabel
-           Non localized key (label) for this value.  This is only
-                  present for properties with fixed label names.
-       @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.
-*/
-CFArrayRef SecTrustCopySummaryPropertiesAtIndex(SecTrustRef trust, CFIndex ix);
-
-/*!
-       @function SecTrustCopyDetailedPropertiesAtIndex
-       @abstract Return a property array for the certificate.
-       @param trust A reference to the trust object to evaluate.
-       @param ix The index of the requested certificate.  Indices run from 0
-    (leaf) to the anchor (or last certificate found if no anchor was found).
-    @result A property array. It is the caller's responsibility 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 SecTrustCopyDetailedPropertiesAtIndex(SecTrustRef trust, CFIndex ix);
-
-/*!
-       @function SecTrustCopyProperties
-       @abstract Return a property array for this trust evaluation.
-       @param trust A reference to the trust object to evaluate.
-    @result A property array. It is the caller's responsibility to CFRelease
-    the returned array when it is no longer needed. See
-    SecTrustCopySummaryPropertiesAtIndex for a detailed description of this array.
-    Unlike that function, this function returns a short text string suitable for
-    display in a sheet explaining to the user why this certificate chain is
-    not trusted for this operation. This function may return NULL if the
-    certificate chain was trusted.
-*/
-CFArrayRef SecTrustCopyProperties(SecTrustRef trust);
-
-/*!
-       @function SecTrustCopyInfo
-       @abstract Return a dictionary with additional information about the
-    evaluated certificate chain for use by clients.
-       @param trust A reference to an evaluated trust object.
-       @discussion Returns a dictionary for this trust evaluation. This
-    dictionary may have the following keys:
-
-        kSecTrustInfoExtendedValidationKey this key will be present and have
-            a value of kCFBooleanTrue if this chain was validated for EV.
-        kSecTrustInfoCompanyNameKey Company name field of subject of leaf
-            certificate, this field is meant to be displayed to the user
-            if the kSecTrustInfoExtendedValidationKey is present.
-        kSecTrustInfoRevocationKey this key will be present iff this chain
-            had its revocation checked. The value will be a kCFBooleanTrue
-            if revocation checking was successful and none of the
-            certificates in the chain were revoked.
-            The value will be kCFBooleanFalse if no current revocation status
-            could be obtained for one or more certificates in the chain due
-            to connection problems or timeouts etc.  This is a hint to a
-            client to retry revocation checking at a later time.
-        kSecTrustInfoRevocationValidUntilKey this key will be present iff
-            kSecTrustInfoRevocationKey has a value of kCFBooleanTrue.
-            The value will be a CFDateRef representing the earliest date at
-            which the revocation info for one of the certificates in this chain
-            might change.
-
-       @result A dictionary with various fields that can be displayed to the user,
-    or NULL if no additional info is available or the trust has not yet been
-    validated.  The caller is responsible for calling CFRelease on the value
-    returned when it is no longer needed.
-*/
-CFDictionaryRef SecTrustCopyInfo(SecTrustRef trust);
-
-/* For debugging purposes. */
-CFArrayRef SecTrustGetDetails(SecTrustRef trust);
-
-/* For debugging purposes. */
-CFStringRef SecTrustCopyFailureDescription(SecTrustRef trust);
-
-/*!
-       @function SecTrustSetPolicies
-       @abstract Set the trust policies against which the trust should be verified.
-       @param trust A reference to a trust object.
-    @param policies An array of one or more policies. You may pass a
-    SecPolicyRef to represent a single policy.
-       @result A result code.  See "Security Error Codes" (SecBase.h).
-    @discussion This function does not invalidate the trust, but should do so in the future.
-*/
-OSStatus SecTrustSetPolicies(SecTrustRef trust, CFTypeRef policies)
-   __OSX_AVAILABLE_STARTING(__MAC_10_3, __IPHONE_6_0);
-
-OSStatus SecTrustGetOTAPKIAssetVersionNumber(int* versionNumber);
-
-OSStatus SecTrustOTAPKIGetUpdatedAsset(int* didUpdateAsset);
-
-__END_DECLS
-
-#endif /* !_SECURITY_SECTRUSTPRIV_H_ */