00001 00009 #ifndef __SubjectKeyIdentifier_H__ 00010 #define __SubjectKeyIdentifier_H__ 00011 00012 #if _MSC_VER > 1000 00013 #pragma once 00014 #endif // _MSC_VER > 1000 00015 00016 00017 #include "PKIFdll.h" 00018 #define CAC_API_FACTORY 00019 00020 #include "X509Extension.h" 00021 00022 #include <iosfwd> 00023 00024 struct CPKIFSubjectKeyIdentifierImpl; 00025 00040 class CAC_API CPKIFSubjectKeyIdentifier : public CPKIFX509Extension 00041 { 00042 public: 00043 CPKIFSubjectKeyIdentifier(); 00044 //CPKIFSubjectKeyIdentifier(const CACX509V3Extension& ext); 00045 CPKIFSubjectKeyIdentifier(const bool& criticality, const CPKIFBufferPtr& ext); 00046 virtual ~CPKIFSubjectKeyIdentifier(); 00051 static char extOID[]; 00052 const CPKIFOIDPtr oid() const; 00053 00054 CPKIFBufferPtr KeyIdentifier() const; 00055 void SetKeyIdentifier(CPKIFBufferPtr &); 00056 00057 CPKIFBufferPtr value() const; 00058 00059 private: 00060 CPKIFSubjectKeyIdentifier(const CPKIFSubjectKeyIdentifier& ext); //added 4/6/2004 00061 CPKIFSubjectKeyIdentifier& operator=(const CPKIFSubjectKeyIdentifier& rhs); //added 4/6/2004 00062 00063 struct CPKIFSubjectKeyIdentifierImpl *m_impl; 00064 }; 00065 DECLARE_SMART_POINTERS(CPKIFSubjectKeyIdentifier); 00066 00067 00068 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFSubjectKeyIdentifierPtr & skid); 00069 CAC_API std::ostream& operator<<(std::ostream & os, const CPKIFSubjectKeyIdentifier & skid); 00070 00071 #endif