CRL.h

Go to the documentation of this file.
00001 
00009 #ifndef __CRL_H__
00010 #define __CRL_H__
00011 
00012 #include "PKIFdll.h"
00013 #define CAC_API_FACTORY 
00014 
00015 #include <vector>
00016 #include <map>
00017 #include "IPKIFHasExtensions.h"
00018 
00019 // forward declaration
00020 struct CPKIFCRLImpl;
00021 FD_SMART_PTR(CPKIFName);
00022 FD_SMART_PTR(CPKIFTime);
00023 FD_SMART_PTR(CPKIFAlgorithmIdentifier);
00024 FD_SMART_PTR(CPKIFCertificate);
00025 FD_SMART_PTR(CPKIFCRLEntry);
00026 
00027 
00028 
00055 class CAC_API CPKIFCRL : public IPKIFHasExtensions
00056 {
00057 public:
00058     CPKIFCRL(void);
00059     virtual ~CPKIFCRL(void);
00060 
00061     virtual void Decode(const unsigned char* cert, int certLen);
00062     virtual CPKIFBufferPtr Encoded() const;
00063 
00064     virtual int Version() const; 
00065     virtual CPKIFNamePtr Issuer( ) const;
00066     virtual CPKIFBufferPtr Signature() const;
00067     virtual CPKIFTimePtr NextUpdate() const;
00068     virtual CPKIFTimePtr ThisUpdate() const;
00069     virtual CPKIFAlgorithmIdentifierPtr SignatureAlgorithm() const;
00070 
00071     virtual bool operator==(const CPKIFCRL& rhs) const;
00072 
00073     virtual void PopulateEntryMap();
00074     virtual std::vector<std::pair<CPKIFNamePtr, std::map<std::string, CPKIFCRLEntryPtr> > > GetCRLEntryMap();
00075     virtual bool CertOnThisCRL(const CPKIFCertificatePtr& cert, CPKIFCRLEntryPtr& crlEntry);
00076     virtual bool AreThereAnyUnprocessedCriticalExtensions(std::vector<CPKIFX509ExtensionPtr>& processedExts);
00077 
00078     virtual void GetEncodedExtensions (CPKIFBufferPtr& buf);
00079     virtual void GetExtensionByOID(const CPKIFOID& oid, CPKIFX509ExtensionPtr& ref);
00080 
00081 
00082 private:
00083     CPKIFCRL(const CPKIFCRL& ext);
00084     CPKIFCRL& operator=(const CPKIFCRL& rhs); //added 4/6/2004
00085 
00086     struct CPKIFCRLImpl *m_impl;
00087 };
00088 DECLARE_SMART_POINTERS(CPKIFCRL)
00089 typedef std::vector<CPKIFCRLPtr, PKIFAlloc<CPKIFCRLPtr> > CPKIFCRLList;
00090 DECLARE_SMART_POINTERS(CPKIFCRLList)
00091 
00092 #endif

Generated on Mon Nov 15 11:15:50 2010 for PublicKeyInfrastructureFramework(PKIF) by  doxygen 1.5.6