KARIDetails.h

Go to the documentation of this file.
00001 
00009 #if !defined(__KARIDETAILS_H__)
00010 #define __KARIDETAILS_H__
00011 
00012 #include "PKIFCMSDLL.h"
00013 #include "PKIFCMSUtils.h"
00014 #include <vector>
00015 
00016 FD_MC_PTR();
00017 FD_SMART_PTR(CPKIFKeyMaterial);
00018 FD_SMART_PTR(CPKIFBuffer);
00019 FD_SMART_PTR(CPKIFAlgorithmIdentifier);
00020 FD_SMART_PTR(CPKIFOID);
00021 FD_SMART_PTR(CPKIFCredential);
00022 FD_SMART_PTR(CPKIFCertificatePath);
00023 FD_SMART_PTR(CPKIFPathValidationResults);
00024 FD_LIST_PTR(CPKIFCertificate);
00025 struct CPKIFKARIDetailsImpl;
00026 
00037 class PKIFCMS_API CPKIFKARIDetails
00038 {
00039 public:
00040     CPKIFKARIDetails(CPKIFOIDPtr & kaScheme);
00041     
00042     ~CPKIFKARIDetails();
00043 
00044     void SetMediator(IPKIFMediatorPtr & med);
00045     void SetKEKAlg(CPKIFAlgorithmIdentifierPtr & alg);
00046     void AddRecipient(CPKIFCertificatePtr& cert, CPKIFCertificatePathPtr& path, CPKIFPathValidationResultsPtr& valResults, CMSPathValidationStatus minStatus = PVS_REV_STATUS_VERIFIED);
00047     void AddRecipient(CPKIFKeyMaterialPtr & recip);
00048 
00049     void SetCEK(unsigned char * keyData, int keyDataLen);
00050 
00051     CPKIFBufferPtr Encoded(void);
00052     CPKIFBufferPtr Encoded(CPKIFCredentialPtr & cred);
00053 
00054 
00055 private:
00057     CPKIFKARIDetails(const CPKIFKARIDetails& copy);
00059     CPKIFKARIDetails& operator=(const CPKIFKARIDetails& rhs); //added 4/6/2004
00060 
00061     // This clas has an opaque implementation even though it is not currently
00062     // part of the DLL interface because it seems likely that we may want to expose it
00063     // at some point.
00064     struct CPKIFKARIDetailsImpl *m_impl;
00065 
00066 };
00067 DECLARE_SMART_POINTERS(CPKIFKARIDetails);
00068 typedef std::vector<CPKIFKARIDetailsPtr, PKIFAlloc<CPKIFKARIDetailsPtr> > CPKIFKARIDetailsList;
00069 DECLARE_SMART_POINTERS(CPKIFKARIDetailsList);
00070 
00071 
00072 #endif 

Generated on Mon Nov 15 11:15:51 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6