00001 00009 #ifndef __PKIFCREDENTIAL_H__ 00010 #define __PKIFCREDENTIAL_H__ 00011 00012 #include "PKIFdll.h" 00013 #include <vector> 00014 00015 FD_SMART_PTR(CPKIFCertificate); 00016 FD_SMART_PTR(CPKIFKeyMaterial); 00017 00027 class CAC_API CPKIFCredential 00028 { 00029 public: 00030 CPKIFCredential(); 00031 virtual ~CPKIFCredential(); 00032 virtual const char* Name() const; 00033 virtual const char* ID() const; 00040 virtual void SetPassword(unsigned char* password, int len)=0; 00048 virtual CPKIFCertificatePtr GetCertificate() const = 0; 00049 00050 virtual CPKIFKeyMaterialPtr GetPublicKey() const; 00051 00052 00053 00054 protected: 00055 CPKIFStringPtr m_name; 00056 CPKIFStringPtr m_id; 00057 00058 private: 00060 CPKIFCredential(const CPKIFCredential& copy); 00062 CPKIFCredential& operator=(const CPKIFCredential& rhs); //added 4/6/2004 00063 }; 00064 DECLARE_SMART_POINTERS(CPKIFCredential); 00065 typedef std::vector<CPKIFCredentialPtr, PKIFAlloc<CPKIFCredentialPtr> > CPKIFCredentialList; 00066 00067 #endif 00068