00001 00009 #ifndef __SIGNINGCERTIFICATEATTRIBUTE_H__ 00010 #define __SIGNINGCERTIFICATEATTRIBUTE_H__ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 #include "PKIFCMSDLL.h" 00017 #define PKIFCMS_API_FACTORY 00018 #include "Attribute.h" 00019 00020 FD_LIST_PTR(CPKIFBuffer); 00021 FD_LIST_PTR(CPKIFESSCertId); 00022 FD_LIST_PTR(CPKIFPolicyInformation); 00023 FD_SMART_PTR(CPKIFOID); 00024 FD_SMART_PTR(CPKIFTime); 00025 00032 class PKIFCMS_API CPKIFSigningCertificateAttribute : public CPKIFAttribute 00033 { 00034 public: 00035 CPKIFSigningCertificateAttribute(); 00036 CPKIFSigningCertificateAttribute(const CPKIFBufferPtr& buf); 00037 ~CPKIFSigningCertificateAttribute(); 00038 00039 static char extOID[]; 00040 00041 //generic attribute functions 00042 CPKIFOIDPtr GetOID() const; 00043 void GetValues(CPKIFBufferList& values) const; 00044 00045 CPKIFESSCertIdListPtr GetCerts() const; 00046 CPKIFPolicyInformationListPtr GetPolicies() const; 00047 00048 void SetCerts(CPKIFESSCertIdListPtr& certIDList); 00049 void SetPolicies(CPKIFPolicyInformationListPtr& policyList); 00050 00051 private: 00053 CPKIFSigningCertificateAttribute(const CPKIFSigningCertificateAttribute& copy); 00055 CPKIFSigningCertificateAttribute& operator=(const CPKIFSigningCertificateAttribute& rhs); 00056 00057 struct CPKIFSigningCertificateAttributeImpl *m_impl; 00058 00059 }; 00060 DECLARE_SMART_POINTERS(CPKIFSigningCertificateAttribute); 00061 00062 #endif //__SIGNINGCERTIFICATEATTRIBUTE_H__