00001 00009 #ifndef __IPKIFNameAndKey_H__ 00010 #define __IPKIFNameAndKey_H__ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 #include "PKIFdll.h" 00017 #include <vector> 00018 FD_SMART_PTR(CPKIFName); 00019 FD_SMART_PTR(CPKIFBuffer); 00020 FD_SMART_PTR(CPKIFSubjectPublicKeyInfo); 00027 class CAC_API IPKIFNameAndKey 00028 { 00029 public: 00030 IPKIFNameAndKey(); 00031 virtual ~IPKIFNameAndKey(); 00032 00033 virtual CPKIFNamePtr GetIssuerName() const = 0; 00034 virtual CPKIFNamePtr GetSubjectName() const = 0; 00035 virtual CPKIFBufferPtr GetKey() const = 0; 00036 virtual CPKIFSubjectPublicKeyInfoPtr GetSubjectPublicKeyInfo() const = 0; 00037 00038 virtual bool SameDNSameKey(const IPKIFNameAndKey& rhs) const; 00039 bool operator==(const IPKIFNameAndKey& rhs) const; 00040 00041 private: 00042 IPKIFNameAndKey(const IPKIFNameAndKey&); 00043 }; 00044 DECLARE_SMART_POINTERS(IPKIFNameAndKey) 00045 typedef std::vector<IPKIFNameAndKeyPtr> IPKIFNameAndKeyList; 00046 #endif