+++ /dev/null
-/* Copyright (c) 1998,2011,2014 Apple Inc. All Rights Reserved.
- *
- * NOTICE: USE OF THE MATERIALS ACCOMPANYING THIS NOTICE IS SUBJECT
- * TO THE TERMS OF THE SIGNED "FAST ELLIPTIC ENCRYPTION (FEE) REFERENCE
- * SOURCE CODE EVALUATION AGREEMENT" BETWEEN APPLE, INC. AND THE
- * ORIGINAL LICENSEE THAT OBTAINED THESE MATERIALS FROM APPLE,
- * INC. ANY USE OF THESE MATERIALS NOT PERMITTED BY SUCH AGREEMENT WILL
- * EXPOSE YOU TO LIABILITY.
- ***************************************************************************
- *
- * NSCipherFile.h - ObjC wrapper for feeCipherFile
- *
- * Revision History
- * ----------------
- * 28 Oct 96 at NeXT
- * Created.
- */
-
-#import <CryptKit/CryptKit.h>
-#import <CryptKit/CipherFileTypes.h>
-
-@interface NSCipherFile : NSObject
-{
- void *_priv;
-}
-
-/*
- * Alloc and return an autoreleased NSCipherFile object associated with
- * the specified data.
- */
-+ newFromCipherText : (NSData *)cipherText
- encrType : (cipherFileEncrType)encrType
- sendPubKeyData : (NSData *)sendPubKeyData
- otherKeyData : (NSData *)otherKeyData
- sigData : (NSData *)sigData // optional; nil means no signature
- userData : (unsigned)userData; // for caller's convenience
-
-/*
- * Obtain the contents of a feeCipherFile as NSData.
- */
-- (NSData *)dataRepresentation;
-
-/*
- * Alloc and return an autoreleased NSCipherFile object given a data
- * representation.
- */
-+ newFromDataRepresentation : (NSData *)dataRep;
-
-/*
- * Given an NSCipherFile object, obtain its constituent parts.
- */
-- (cipherFileEncrType)encryptionType;
-- (NSData *)cipherText;
-- (NSData *)sendPubKeyData;
-- (NSData *)otherKeyData;
-- (NSData *)sigData;
-- (unsigned)userData;
-
-/*
- * High-level cipherFile support.
- */
-
-/*
- * Obtain the data representation of a NSCipherFile given the specified
- * plainText and cipherFileEncrType.
- * Receiver's public key is required for all encrTypes; sender's private
- * key is required for signature generation and also for encrType
- * CFE_PublicDES and CFE_FEED.
- */
-+(feeReturn)createCipherFileForPrivKey : (NSFEEPublicKey *)sendPrivKey
- recvPubKey : (NSFEEPublicKey *)recvPubKey
- encrType : (cipherFileEncrType)encrType
- plainText : (NSData *)plainText
- genSig : (BOOL)genSig
- doEnc64 : (BOOL)doEnc64 // YES ==> perform enc64
- userData : (unsigned)userData // for caller's convenience
- cipherFileData : (NSData **)cipherFileData; // RETURNED
-
-/*
- * Parse and decrypt a data representation of an NSCipherFile object.
- *
- * recvPrivKey is required in all cases. If sendPubKey is present,
- * sendPubKey - rather than the embedded sender's public key - will be
- * used for signature validation.
- */
-+ (feeReturn)parseCipherFileData : (NSFEEPublicKey *)recvPrivKey
- sendPubKey : (NSFEEPublicKey *)sendPubKey
- cipherFileData : (NSData *)cipherFileData
- doDec64 : (BOOL)doDec64
- encrType : (cipherFileEncrType *)encrType // RETURNED
- plainText : (NSData **)plainText // RETURNED
- sigStatus : (feeSigStatus *)sigStatus // RETURNED
- sigSigner : (NSString **)sigSigner // RETURNED
- userData : (unsigned *)userData; // RETURNED
-
-/*
- * Parse and decrypt an NSCipherFile object obtained via
- * +newFromDataRepresentation.
- *
- * recvPrivKey is required in all cases. If sendPubKey is present,
- * sendPubKey - rather than the embedded sender's public key - will be
- * used for signature validation.
- */
-- (feeReturn)decryptCipherFileData : (NSFEEPublicKey *)recvPrivKey
- sendPubKey : (NSFEEPublicKey *)sendPubKey
- plainText : (NSData **)plainText // RETURNED
- sigStatus : (feeSigStatus *)sigStatus // RETURNED
- sigSigner : (NSString **)sigSigner; // RETURNED
-
-
-@end