#ifdef ASC_CSP_ENABLE
#ifndef _ASC_CONTEXT_H_
#define _ASC_CONTEXT_H_
#include "AppleCSPContext.h"
#include <CoreServices/../Frameworks/CarbonCore.framework/Headers/MacTypes.h>
#include <ComCryption/comcryption.h>
class ASCContext : public AppleCSPContext {
public:
ASCContext(AppleCSPSession &session) :
AppleCSPContext(session),
mCcObj(NULL) { }
~ASCContext();
void init(
const Context &context,
bool encoding = true);
void update(
void *inp,
size_t &inSize, void *outp,
size_t &outSize); void final(
CssmData &out);
size_t inputSize(
size_t outSize); size_t outputSize(
bool final = false,
size_t inSize = 0); void minimumProgress(
size_t &in,
size_t &out);
private:
comcryptObj mCcObj;
unsigned char mDecryptBuf;
bool mDecryptBufValid;
};
#endif
#endif