00001 00011 #ifndef _PKIFCRYPTOPPCREDENTIAL_H_ 00012 #define _PKIFCRYPTOPPCREDENTIAL_H_ 00013 00014 #include "PKIFdll.h" 00015 #include "PKIFCredential.h" 00016 00017 //#include "cryptlib.h" 00018 00019 FD_SMART_PTR(CPKIFCertificate); 00020 FD_SMART_PTR(CPKIFBuffer); 00021 class CPKIFAlgorithm; 00022 00023 00033 class CPKIFCryptoPPCredential : public CPKIFCredential 00034 { 00035 friend class CPKIFCryptoPP; 00036 public: 00037 CPKIFCryptoPPCredential(); 00038 virtual ~CPKIFCryptoPPCredential(); 00039 00040 virtual void SetPassword(unsigned char* password, int len); 00041 00042 CPKIFCertificatePtr GetCertificate() const; 00043 CPKIFKeyMaterialPtr GetPublicKey() const; 00044 void SetCertificate(CPKIFCertificatePtr &); 00045 void SetPrivateKey(CPKIFBufferPtr &); 00046 void SetAlgorithm(CPKIFAlgorithm *); 00047 CPKIFAlgorithm * GetAlgorithm(); 00048 00049 private: 00051 CPKIFCryptoPPCredential(const CPKIFCryptoPPCredential& copy); 00053 CPKIFCryptoPPCredential& operator=(const CPKIFCryptoPPCredential& rhs); //added 4/6/2004 00054 CPKIFCertificatePtr m_pkifCert; 00055 CPKIFBufferPtr m_keyBuf; 00056 CPKIFAlgorithm * m_keyAlg; 00057 }; 00058 00059 DECLARE_SMART_POINTERS(CPKIFCryptoPPCredential); 00060 00061 #endif