00001 00009 #ifndef __PKIFCAPICRYPTCONTEXT2_H__ 00010 #define __PKIFCAPICRYPTCONTEXT2_H__ 00011 00012 #include "PKIFdll.h" 00013 #include "IPKIFCryptContext.h" 00014 00015 #include <wincrypt.h> 00016 00017 class CPKIFCAPI2; 00018 FD_SMART_PTR(CPKIFCredential); 00019 00034 //removed export declaration 7/28/2004 00035 class CPKIFCAPICryptContext2 : public IPKIFCryptContext 00036 { 00037 friend class CPKIFCAPI2; 00038 friend class CPKIFCNGCAPI; 00039 public: 00040 virtual ~CPKIFCAPICryptContext2(void); 00041 CPKIFCredentialPtr GetCredential(); 00042 00043 private: 00045 CPKIFCAPICryptContext2& operator=(const CPKIFCAPICryptContext2& rhs); //added 4/6/2004 00047 CPKIFCAPICryptContext2(const char* provider = NULL, int provType = 0, int sysStoRegLoc = CERT_SYSTEM_STORE_CURRENT_USER); //disallow creation except by friend class 00048 00049 char* m_provider; 00050 int m_provType; 00051 int m_sysStoRegLoc; 00052 00053 CPKIFCredentialPtr m_cred; 00054 HCRYPTKEY m_userKey; 00055 HCRYPTPROV m_cryptContext; 00056 00057 00058 }; 00059 00060 #endif 00061 00062 00063