]> git.saurik.com Git - apple/security.git/blobdiff - Security/libsecurity_manifest/lib/SecManifest.h
Security-57336.1.9.tar.gz
[apple/security.git] / Security / libsecurity_manifest / lib / SecManifest.h
diff --git a/Security/libsecurity_manifest/lib/SecManifest.h b/Security/libsecurity_manifest/lib/SecManifest.h
deleted file mode 100644 (file)
index 55e57bd..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Copyright (c) 2004,2011,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@
- */
-
-/*!
-       @header SecManifest
-       The functions and data types in SecManifest implement file, directory, and
-       data signing.
-*/
-
-#ifndef _SECURITY_SECMANIFEST_H_
-#define _SECURITY_SECMANIFEST_H_
-
-#include <Security/SecTrust.h>
-#include <Security/SecIdentity.h>
-#include <Security/SecBase.h>
-
-
-#if defined(__cplusplus)
-extern "C" {
-#endif
-
-enum {
-       errSecManifestNotSupported   = -22040,  /* The specified object can't be placed in a manifest */
-       errSecManifestNoSigners          = -22041,  /* There must be at least one signer for a manifest */
-       errSecManifestCMSFailure         = -22042,  /* A problem occurred with CMS */
-       errSecManifestIsNotEmpty         = -20043,  /* The manifest was not empty before create from external representation */
-       errSecManifestDidNotVerify   = -20044,  /* The manifest did not verify */
-       errSecManifestDamaged            = -20045,  /* The manifest was damaged */
-       errSecManifestNotEqual           = -20046,  /* The manifests were not equal */
-       errSecManifestBadResult          = -20057,  /* A manifest callback returned an invalid result */
-       errSecManifestNoPolicy           = -20058,  /* Couldn't find the default policy */
-       errSecManifestInvalidException  = -20059,  /* Exception list members must be CFStrings */
-       errSecManifestNoSignersFound = -20060,  /* No signers were found in the manifest */
-};
-
-typedef UInt32 SecManifestCompareOptions;
-enum {kSecManifestVerifyOwnerAndGroup = 0x1};
-
-/*!
-       @typedef SecManifestRef
-       @abstract A pointer to an opaque manifest structure
-*/
-typedef struct OpaqueSecManifestRef *SecManifestRef;
-
-/*!
-       @function SecManifestGetVersion
-       @abstract Determines the version of the SecManifest API installed on the
-                         user's system.
-       @param version On return, a pointer to the version number of the SecManifest
-                                  API installed on the system.
-       @result A result code.
-*/
-OSStatus SecManifestGetVersion(UInt32 *version);
-
-/*!
-       @function SecManifestCreate
-       @abstract Creates a new manifest object for signing.
-       @param manifest On return, a porinter to a manifest reference.  The memory
-                                       that manifest occupies must be released by calling
-                                       SecManifestRelease when you are finished with it.
-       @result A result code.
-*/
-OSStatus SecManifestCreate(SecManifestRef *manifest);
-
-/*!
-       @function SecManifestRelease
-       @abstract Destroys a manifest object
-       @param manifest The manifest to destroy.
-*/
-
-void SecManifestRelease(SecManifestRef manifest);
-
-typedef enum _SecManifestTrustCallbackResult 
-{
-       kSecManifestDoNotVerify,
-       kSecManifestSignerVerified,
-       kSecManifestContinue,
-       kSecManifestFailed
-} SecManifestTrustCallbackResult;
-
-typedef SecManifestTrustCallbackResult(*SecManifestTrustSetupCallback)
-                       (SecTrustRef trustRef, void* setupContext);
-typedef SecManifestTrustCallbackResult(*SecManifestTrustEvaluateCallback)
-                       (SecTrustRef trustRef, SecTrustResultType result,
-                        void *evaluateContext);
-
-/*!
-       @function SecManifestVerifySignature
-       @abstract Verifies a signature created with SecManifestCreateSignature,
-       @param data The signature to verify.
-       @param setupCallback Called before trust is verified for a signer.  This
-                                                allows the user to modify the SecTrustRef if needed
-                                                (see the SecTrust documentation).
-       @param setupContext User defined.
-       @param evaluateCallback Called after SecTrustEvaluate has been called for a
-                                                       signer if the result was not trusted. This allows
-                                                       the developer to query the user as to whether or not
-                                                       to trust the signer.
-       @param evaluateContext User defined.
-       @param manifest Optional return of the verified manifest
-*/
-
-OSStatus SecManifestVerifySignature(CFDataRef data,
-                                                                       SecManifestTrustSetupCallback setupCallback,
-                                                                       void* setupContext,
-                                                                       SecManifestTrustEvaluateCallback evaluateCallback,
-                                                                       void* evaluateContext,
-                                                                       SecManifestRef *manifest);
-
-/*!
-       @function SecManifestVerifySignature
-       @abstract Verifies a signature created with SecManifestCreateSignature,
-       @param data The signature to verify.
-       @param setupCallback Called before trust is verified for a signer.  This
-                                                allows the user to modify the SecTrustRef if needed
-                                                (see the SecTrust documentation).
-       @param setupContext User defined.
-       @param evaluateCallback Called after SecTrustEvaluate has been called for a
-                                                       signer if the result was not trusted. This allows
-                                                       the developer to query the user as to whether or not
-                                                       to trust the signer.
-       @param evaluateContext User defined.
-       @param policyRef A SecPolicyRef used to evaluate the signature.  Pass NULL to use the default policy
-       @param manifest Optional return of the verified manifest
-*/
-OSStatus SecManifestVerifySignatureWithPolicy(CFDataRef data,
-                                                                                         SecManifestTrustSetupCallback setupCallback,
-                                                                                         void* setupContext,
-                                                                                         SecManifestTrustEvaluateCallback evaluateCallback,
-                                                                                         void* evaluateContext,
-                                                                                         SecPolicyRef policyRef,
-                                                                                         SecManifestRef *manifest);
-/*!
-       @function SecManifestCreateSignature
-       @abstract Creates a signature.
-       @param manifest The manifest from which to create the signature.
-       @param options Reserved for future use.
-       @param data On return, the external representation.  The memory that data
-                               occupies must be released by calling CFRelease when finished
-                               with it.
-       @result A result code.
-*/
-OSStatus SecManifestCreateSignature(SecManifestRef manifest,
-                                                                       UInt32 options, 
-                                                                       CFDataRef *data);
-
-/*!
-       @function SecManifestAddObject
-       @abstract Adds data to be signed or verified to the manifest object.
-       @param manifest The manifest object.
-       @param object The object to add.
-       @param exceptionList If data points to a directory, this contains an
-                                                optional list of CFStrings, relative to object, that will
-                                                not be included in the manifest.
-       @result A result code.
-       @discussion object may either be a CFURL that points to a file URL, or a
-                               SecManifestData, which points to arbitrary data.
-*/
-OSStatus SecManifestAddObject(SecManifestRef manifest,
-                                                         CFTypeRef object,
-                                                         CFArrayRef exceptionList);
-
-/*!
-       @function SecManifestCompare
-       @abstraact Compare one manifest to another.
-       @param manifest1 A manifest to be compared for equality.
-       @param manifest2 A manifest to be compared for equality.
-       @param verifyOwnerAndGroup If true, owner and group ID's will be checked as
-                                                          part of the verification process.
-       @result A result code.
-*/
-OSStatus SecManifestCompare(SecManifestRef manifest1, 
-                                                       SecManifestRef manifest2, 
-                                                       SecManifestCompareOptions options);
-
-/*!
-       @function SecManifestAddSigner
-       @abstract Add an identity to the list of identities that will sign the
-                         manifest.
-       @param manifest The manifest to sign.
-       @param identity The identity to be used to sign the manifest.
-       @result A result code.
-       @discussion Multiple signers are supported.  The actual signing does not
-                               take place until SecManifestCreateExternalRepresentation is
-                               called.
-*/
-OSStatus SecManifestAddSigner(SecManifestRef manifest,
-                                                         SecIdentityRef identity);
-
-#if defined(__cplusplus)
-}
-#endif
-
-#endif /* ! _SECURITY_SECMANIFEST_H_ */
-