00001 00010 #if !defined(__PKIFCRYPTOPPKACONTEXT_H__) 00011 #define __PKIFCRYPTOPPKACONTEXT_H__ 00012 00013 #include "PKIFdll.h" 00014 #include "PKIFKeyAgreeContextBase.h" 00015 #include "PKIFCryptoConstants.h" 00016 00017 #include "cryptlib.h" 00018 00019 00020 struct CPKIFCryptoPPKAContextImpl; 00021 00031 class CPKIFCryptoPPKAContext : public CPKIFKeyAgreeContextBase 00032 { 00033 public: 00034 // could use friend classes and make the ctor private, 00035 // but don't want to make it more work to use this from other 00036 // back-ends, since it's just backed by a buffer. 00037 CPKIFCryptoPPKAContext(); 00038 ~CPKIFCryptoPPKAContext(); 00039 00040 void SetSecret(const CPKIFBufferPtr & secret); 00041 CPKIFBufferPtr GetSecret(); 00042 00043 private: 00045 CPKIFCryptoPPKAContext(const CPKIFCryptoPPKAContext& copy); 00047 CPKIFCryptoPPKAContext& operator=(const CPKIFCryptoPPKAContext& rhs); 00048 00049 00050 struct CPKIFCryptoPPKAContextImpl * m_impl; 00051 }; 00052 00053 DECLARE_SMART_POINTERS(CPKIFCryptoPPKAContext); 00054 00055 00056 #endif // !defined(__PKIFCRYPTOPPKACONTEXT_H__)